home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / program / inter54b.zip / INTERRUP.I < prev    next >
Text File  |  1997-06-29  |  362KB  |  9,279 lines

  1. Interrupt List, part 9 of 16
  2. Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997 Ralf Brown
  3. --------N-21F2-------------------------------
  4. INT 21 u - Novell NetWare v3.01+ shell interface - MULTIPLEXOR
  5.     AH = F2h
  6.     AL = function (see #1750)
  7.         (subfunction stored in various places in the request packet,
  8.         depending on function number; see individual entries)
  9.     CX = length of request buffer
  10.     DX = length of reply buffer (0000h if no reply packet)
  11.     DS:SI -> request buffer
  12.     ES:DI -> reply buffer (ignored if DX=0000h)
  13. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  14.     reply buffer filled as appropriate for function
  15. Note:    this is a multiplexor providing a "raw" interface to the underlying
  16.       NetWare Core Protocol.  Many functions which were accessed via a
  17.       separate AH function in older versions can also be accessed here,
  18.       but some NetWare 3.x calls appear to be available only here.
  19. SeeAlso: AX=F244h,AX=F268h/SF=3Dh,#2522
  20.  
  21. (Table 1750)
  22. Values for NetWare Core Protocol functions:
  23. Fnc/Subfn    Description
  24. 01h    File Set Lock
  25. 02h    File Release Lock
  26. 03h    Log File (old)                    (see AX=F203h)
  27. 04h    Lock File Set (old)                (see AX=F204h)
  28. 05h    Release File                (see AH=CCh,AH=ECh"NetWare")
  29. 06h    Release File Set                (see AH=CDh"NetWare")
  30. 07h    Clear File                    (see AH=CEh,AX=F207h)
  31. 08h    Clear File Set                    (see AX=F208h)
  32. 09h    Log Logical Record (old)            (see AH=D0h"NetWare")
  33. 0Ah    Lock Logical Record Set (old)            (see AX=F20Ah)
  34. 0Bh    Clear Logical Record                (see AX=F20Bh)
  35. 0Ch    Release Logical Record                (see AH=D2h"NetWare")
  36. 0Dh    Release Logical Record Set            (see AH=D3h"NetWare")
  37. 0Eh    Clear Logical Record Set            (see AX=F20Eh)
  38. 0Fh    Allocate Resource                (see AH=D8h"NetWare")
  39. 10h    Deallocate Resource                (see AH=D9h"NetWare")
  40. 11h/xxh    print spooling                    (see AH=E0h"NetWare")
  41. 11h/06h Get Printer Status
  42. 11h/0Ah    Get Printer Queue
  43. 12h    Get Volume Info with Number            (see AH=DAh"NetWare")
  44. 13h    Get Station Number                (see AH=DCh"NetWare")
  45. 14h    Get File Server Date and Time (NW v2.2+)    (see AH=E7h"NetWare")
  46. 15h/01h Get Broadcast Message (old)            (see AX=F215h/SF=01h)
  47. 15h/02h Disable Broadcasts                (see AX=F215h/SF=02h)
  48. 15h/03h Enable Broadcasts                (see AX=F215h/SF=03h)
  49. 15h/08h Check Pipe Status        (see AH=E1h/SF=08h,AX=F215h/SF=08h)
  50. 15h/09h Broadcast to Console        (see AH=E1h/SF=09h,AX=F215h/SF=09h)
  51. 15h/0Bh Get Broadcast Message                (see AX=F215h/SF=0Bh)
  52. 16h/00h Set Directory Handle                (see AX=F216h/SF=00h)
  53. 16h/01h Get Directory Path                (see AX=F216h/SF=01h)
  54. 16h/02h Scan Directory Information            (see AX=F216h/SF=02h)
  55. 16h/03h    Get Effective Directory Rights (old)        (see AX=F216h/SF=03h)
  56. 16h/04h Modify Maximum Rights Mask            (see AX=F216h/SF=04h)
  57. 16h/05h Get Volume Number                (see AX=F216h/SF=05h)
  58. 16h/06h Get Volume Name                    (see AX=F216h/SF=06h)
  59. 16h/0Ah Create Directory                (see AX=F216h/SF=0Ah)
  60. 16h/0Bh Delete Directory                (see AX=F216h/SF=0Bh)
  61. 16h/0Ch Scan Directory for Trustees            (see AX=F216h/SF=0Ch)
  62. 16h/0Dh Add Trustee to Directory            (see AX=F216h/SF=0Dh)
  63. 16h/0Eh Delete Trustee from Directory            (see AX=F216h/SF=0Eh)
  64. 16h/0Fh    Rename Directory                (see AX=F216h/SF=0Fh)
  65. 16h/10h Purge Erased Files (old)            (see AX=F216h/SF=10h)
  66. 16h/11h Recover Erased File (old)            (see AX=F216h/SF=11h)
  67. 16h/12h Alloc Permanent Directory Handle        (see AX=F216h/SF=12h)
  68. 16h/13h Alloc Temporary Directory Handle        (see AX=F216h/SF=13h)
  69. 16h/14h Deallocate Directory Handle            (see AX=F216h/SF=14h)
  70. 16h/15h Get Volume Info with Handle            (see AX=F216h/SF=15h)
  71. 16h/16h Alloc Special Temporary Directory Handle    (see AX=F216h/SF=16h)
  72. 16h/19h Set Directory Information            (see AX=F216h/SF=19h)
  73. 16h/1Ah Get Path Name of Volume-Directory Number Pair    (see AX=F216h/SF=1Ah)
  74. 16h/1Bh    Scan Salvageable Files (old)            (see AX=F216h/SF=1Bh)
  75. 16h/1Ch    Recover Salvageable File (old)            (see AX=F216h/SF=1Ch)
  76. 16h/1Dh    Purge Salvageable File (old)            (see AX=F216h/SF=1Dh)
  77. 16h/1Eh    Scan a Directory                (see AX=F216h/SF=1Eh)
  78. 16h/1Fh    Get Directory Entry                (see AX=F216h/SF=1Fh)
  79. 16h/20h    Scan Volume's User Disk Restrictions        (see AX=F216h/SF=20h)
  80. 16h/21h    Add User Disk Space Restriction            (see AX=F216h/SF=21h)
  81. 16h/22h    Remove User Disk Space Restrictions        (see AX=F216h/SF=22h)
  82. 16h/23h    Scan Directory Space Restrictions        (see AX=F216h/SF=23h)
  83. 16h/24h    Set Directory Disk Space Restriction        (see AX=F216h/SF=24h)
  84. 16h/25h    Set Directory File Information            (see AX=F216h/SF=25h)
  85. 16h/26h    Scan File or Directory For Extended Trustees    (see AX=F216h/SF=26h)
  86. 16h/27h    Add Extended Trustee to Directory or File    (see AX=F216h/SF=27h)
  87. 16h/28h    Scan Directory Disk Space            (see AX=F216h/SF=28h)
  88. 16h/29h    Get Object Disk Usage and Restrictions        (see AX=F216h/SF=29h)
  89. 16h/2Ah    Get Effective Rights                (see AX=F216h/SF=2Ah)
  90. 16h/2Bh    Remove Extended Trustee from Dir or File    (see AX=F216h/SF=2Bh)
  91. 16h/2Ch    Get Volume Usage                (see AX=F216h/SF=2Ch)
  92. 16h/2Dh    Get Directory Information            (see AX=F216h/SF=2Dh)
  93. 16h/2Eh    Rename or Move                    (see AX=F216h/SF=2Eh)
  94. 16h/2Fh    Get Name Space Information            (see AX=F216h/SF=2Fh)
  95. 16h/30h    Get Name Space Directory Entry            (see AX=F216h/SF=30h)
  96. 16h/31h    Open Data Stream                (see AX=F216h/SF=31h)
  97. 16h/32h    Get Object Effective Rights            (see AX=F216h/SF=32h)
  98. 16h/33h    Get Extended Volume Info            (see AX=F216h/SF=33h)
  99. 17h/01h Change User Password (old)            (see AX=F217h/SF=01h)
  100. 17h/02h Get User Connection List (old)            (see AX=F217h/SF=02h)
  101. 17h/0Ch Verify Serialization                (see AX=F217h/SF=0Ch)
  102. 17h/0Eh Get Disk Utilization                (see AX=F217h/SF=0Eh)
  103. 17h/0Fh Scan File Information                (see AX=F217h/SF=0Fh)
  104. 17h/10h Set File Information                (see AX=F217h/SF=10h)
  105. 17h/11h Get File Server Information            (see AX=F217h/SF=11h)
  106. 17h/12h Get Network Serial Number            (see AX=F217h/SF=12h)
  107. 17h/13h Get Internet Address (old)            (see AX=F217h/SF=13h)
  108. 17h/14h Login Object                    (see AX=F217h/SF=14h)
  109. 17h/15h Get Object Connection List (old)        (see AX=F217h/SF=15h)
  110. 17h/16h    Get Connection Information (old)        (see AX=F217h/SF=1Ch)
  111. 17h/17h    Get Encryption Key                (see AX=F217h/SF=17h)
  112. 17h/18h    Login Object Encrypted                (see AX=F217h/SF=18h)
  113. 17h/1Ah Get Internet Address                (see AX=F217h/SF=1Ah)
  114. 17h/1Bh Get Object Connection List            (see AX=F217h/SF=1Bh)
  115. 17h/1Ch    Get Connection Information            (see AX=F217h/SF=1Ch)
  116. 17h/1Fh    Get Connection List from Object            (see AX=F217h/SF=1Fh)
  117. 17h/32h Create Bindery Object                (see AX=F217h/SF=32h)
  118. 17h/33h Delete Bindery Object                (see AX=F217h/SF=33h)
  119. 17h/34h Rename Bindery Object                (see AX=F217h/SF=34h)
  120. 17h/35h Get Bindery Object ID                (see AX=F217h/SF=35h)
  121. 17h/36h Get Bindery Object Name                (see AX=F217h/SF=36h)
  122. 17h/37h Scan Bindery Object                (see AX=F217h/SF=37h)
  123. 17h/38h Change Bindery Object Security            (see AX=F217h/SF=38h)
  124. 17h/39h Create Property                    (see AX=F217h/SF=39h)
  125. 17h/3Ah Delete Property                    (see AX=F217h/SF=3Ah)
  126. 17h/3Bh Change Property Security            (see AX=F217h/SF=3Bh)
  127. 17h/3Ch Scan Property                    (see AX=F217h/SF=3Ch)
  128. 17h/3Dh Read Property Value                (see AX=F217h/SF=3Dh)
  129. 17h/3Eh Write Property Value                (see AX=F217h/SF=3Eh)
  130. 17h/3Fh Verify Bindery Object Password            (see AX=F217h/SF=3Fh)
  131. 17h/40h Change Bindery Object Password            (see AX=F217h/SF=40h)
  132. 17h/41h Add Bindery Object to Set            (see AX=F217h/SF=41h)
  133. 17h/42h Delete Bindery Object from Set            (see AX=F217h/SF=42h)
  134. 17h/43h Is Bindery Object in Set            (see AX=F217h/SF=43h)
  135. 17h/44h Close Bindery                    (see AX=F217h/SF=44h)
  136. 17h/45h Open Bindery                    (see AX=F217h/SF=45h)
  137. 17h/46h Get Bindery Access Level            (see AX=F217h/SF=46h)
  138. 17h/47h Scan Bindery Object Trustee Paths        (see AX=F217h/SF=47h)
  139. 17h/48h    Get Bindery Object Access Level            (see AX=F217h/SF=48h)
  140. 17h/49h    Is Station a Manager?                (see AX=F217h/SF=49h)
  141. 17h/4Ah    Keyed Verify Bindery Object Password        (see AX=F217h/SF=4Ah)
  142. 17h/4Bh    Keyed Change Bindery Object Password        (see AX=F217h/SF=4Bh)
  143. 17h/4Ch    List Relations of an Object            (see AX=F217h/SF=4Ch)
  144. 17h/64h Create Queue                    (see AX=F217h/SF=64h)
  145. 17h/65h Destroy Queue                    (see AX=F217h/SF=65h)
  146. 17h/66h Read Queue Current Status (old)            (see AX=F217h/SF=66h)
  147. 17h/67h Set Queue Current Status (old)            (see AX=F217h/SF=67h)
  148. 17h/68h Create Queue Job and File (old)            (see AX=F217h/SF=68h)
  149. 17h/69h Close File and Start Queue Job (old)        (see AX=F217h/SF=69h)
  150. 17h/6Ah Remove Job From Queue (old)            (see AX=F217h/SF=6Ah)
  151. 17h/6Bh Get Queue Job List (old)            (see AX=F217h/SF=6Bh)
  152. 17h/6Ch Read Queue Job Entry (old)            (see AX=F217h/SF=6Ch)
  153. 17h/6Dh Change Queue Job Entry (old)            (see AX=F217h/SF=6Dh)
  154. 17h/6Eh Change Queue Job Position            (see AX=F217h/SF=6Eh)
  155. 17h/6Fh Attach Queue Server to Queue            (see AX=F217h/SF=6Fh)
  156. 17h/70h Detach Queue Server from Queue            (see AX=F217h/SF=70h)
  157. 17h/72h Finish Servicing Queue Job (old)        (see AX=F217h/SF=72h)
  158. 17h/74h Change to Client Rights (old)            (see AX=F217h/SF=74h)
  159. 17h/75h Restore Queue Server Rights            (see AX=F217h/SF=75h)
  160. 17h/76h Read Queue Server Current Status (old)        (see AX=F217h/SF=76h)
  161. 17h/77h Set Queue Server Current Status            (see AX=F217h/SF=77h)
  162. 17h/78h Get Queue Job File Size (old)            (see AX=F217h/SF=78h)
  163. 17h/79h Create Queue Job and File            (see AX=F217h/SF=79h)
  164. 17h/7Ah Read Queue Job Entry                (see AX=F217h/SF=7Ah)
  165. 17h/7Bh Change Queue Job Entry                (see AX=F217h/SF=7Bh)
  166. 17h/7Dh Read Queue Current Status            (see AX=F217h/SF=7Dh)
  167. 17h/7Eh Set Queue Current Status            (see AX=F217h/SF=7Eh)
  168. 17h/7Fh Close File and Start Queue Job            (see AX=F217h/SF=7Fh)
  169. 17h/80h Remove Job From Queue                (see AX=F217h/SF=80h)
  170. 17h/81h Get Queue Job List                (see AX=F217h/SF=81h)
  171. 17h/82h Change Job Priority                (see AX=F217h/SF=82h)
  172. 17h/83h Finish Servicing Queue Job            (see AX=F217h/SF=83h)
  173. 17h/85h Change to Client Rights                (see AX=F217h/SF=85h)
  174. 17h/86h Read Queue Server Current Status        (see AX=F217h/SF=86h)
  175. 17h/87h Get Queue Job File Size                (see AX=F217h/SF=87h)
  176. 17h/96h Get Account Status                (see AX=F217h/SF=96h)
  177. 17h/97h Submit Account Charge                (see AX=F217h/SF=97h)
  178. 17h/98h Submit Account Hold                (see AX=F217h/SF=98h)
  179. 17h/99h Submit Account Note                (see AX=F217h/SF=99h)
  180. 17h/C8h Check Console Privileges            (see AX=F217h/SF=C8h)
  181. 17h/C9h Get File Server Description Strings        (see AX=F217h/SF=C9h)
  182. 17h/CAh Set File Server Date and Time            (see AX=F217h/SF=CAh)
  183. 17h/CBh Disable File Server Login            (see AX=F217h/SF=CBh)
  184. 17h/CCh Enable File Server Login            (see AX=F217h/SF=CCh)
  185. 17h/CDh Get File Server Login Status            (see AX=F217h/SF=CDh)
  186. 17h/CEh Purge All Erased Files                (see AX=F217h/SF=CEh)
  187. 17h/CFh Disable Transaction Tracking            (see AX=F217h/SF=CFh)
  188. 17h/D0h Enable Transaction Tracking            (see AX=F217h/SF=D0h)
  189. 17h/D2h Clear Connection Number (Logout Station)    (see AX=F217h/SF=D2h)
  190. 17h/D3h Down File Server                (see AX=F217h/SF=D3h)
  191. 17h/D4h Get File System Statistics            (see AX=F217h/SF=D4h)
  192. 17h/D5h Get Transaction Tracking Statistics        (see AX=F217h/SF=D5h)
  193. 17h/D6h Get Disk Cache Statistics            (see AX=F217h/SF=D6h)
  194. 17h/D7h Get Drive Mapping Table                (see AX=F217h/SF=D7h)
  195. 17h/D8h Get Physical Disk Statistics            (see AX=F217h/SF=D8h)
  196. 17h/D9h Get Disk Channel Statistics            (see AX=F217h/SF=D9h)
  197. 17h/DAh Get Connection's Task Information (NW v2.2)    (see AX=F217h/SF=DAh)
  198. 17h/DBh Get Connection's Open Files (old) (NW v2.2)    (see AX=F217h/SF=DBh)
  199. 17h/DCh Get Connections Using a File (NW v2.2)        (see AX=F217h/SF=DCh)
  200. 17h/DDh Get Physical Record Locks by Connection and File (old)
  201. 17h/DEh    Get Physical Record Locks by File (old)        (see AX=F217h/SF=DEh)
  202. 17h/DFh Get Logical Records by Connection (old)        (see AX=F217h/SF=DFh)
  203. 17h/E0h Get Logical Record Information (old)        (see AX=F217h/SF=E0h)
  204. 17h/E1h Get Connection's Semaphores (old)        (see AX=F217h/SF=E1h)
  205. 17h/E2h Get Semaphore Information (old)            (see AX=F217h/SF=E2h)
  206. 17h/E3h Get LAN Driver's Configuration Information    (see AX=F217h/SF=E3h)
  207. 17h/E5h Get Connection's Usage Statistics (NW v2.2)    (see AX=F217h/SF=E5h)
  208. 17h/E6h Get Object's Remaining Disk Space        (see AX=F217h/SF=E6h)
  209. 17h/E7h Get File Server LAN I/O Statistics        (see AX=F217h/SF=E7h)
  210. 17h/E8h Get File Server Misc Information        (see AX=F217h/SF=E8h)
  211. 17h/E9h Get Volume Information                (see AX=F217h/SF=E9h)
  212. 17h/EAh Get Connection's Task Information (NW v3.11+)    (see AX=F217h/SF=EAh)
  213. 17h/EBh    Get Connection's Open Files (NW v3.11+)        (see AX=F217h/SF=EBh)
  214. 17h/ECh    Get Connections Using a File (NW v3.11+)    (see AX=F217h/SF=ECh)
  215. 17h/EDh Get Physical Record Locks by Connection and File (see AX=F217h/SF=EDh)
  216. 17h/EEh    Get Physical Record Locks by File        (see AX=F217h/SF=EEh)
  217. 17h/EFh Get Logical Records by Connection        (see AX=F217h/SF=EFh)
  218. 17h/F0h Get Logical Record Information            (see AX=F217h/SF=F0h)
  219. 17h/F1h Get Connection's Semaphores            (see AX=F217h/SF=F1h)
  220. 17h/F2h Get Semaphore Information            (see AX=F217h/SF=F2h)
  221. 17h/F3h Map Directory Number to Path            (see AX=F217h/SF=F3h)
  222. 17h/F4h    Convert Path to Directory Entry            (see AX=F217h/SF=F4h)
  223. 17h/F5h Get File Server Extended Misc Information    (see AX=F217h/SF=F5h)
  224. 17h/F6h Get Volume Extended Information            (see AX=F217h/SF=F6h)
  225. 17h/FEh Clear Connection Number Greater than 250    (see AX=F217h/SF=FEh)
  226. 18h    End of Job                    (see AH=D6h"NetWare")
  227. 19h    Logout (old)                    (see AH=D7h"NetWare")
  228. 1Ah    Log Physical Record (old)            (see AH=BCh"NetWare")
  229. 1Bh    Lock Physical Record Set (old)            (see AX=F21Bh)
  230. 1Ch    Release Physical Record                (see AH=BDh"NetWare")
  231. 1Dh    Release Physical Record Set            (see AH=C3h"NetWare")
  232. 1Eh    Clear Physical Record                (see AX=F21Eh)
  233. 1Fh    Clear Physical Record Set            (see AX=F21Fh)
  234. 20h/xxh    semaphore services                (see AX=C501h"NetWare")
  235. 20h/00h Open Semaphore (old)                (see AX=C500h"NetWare")
  236. 20h/01h Examine Semaphore (old)                (see AX=C501h"NetWare")
  237. 20h/02h Wait on Semaphore (old)                (see AX=C502h"NetWare")
  238. 20h/03h Signal Semaphore (old)                (see AX=C503h"NetWare")
  239. 20h/04h Close Semaphore (old)                (see AX=C504h"NetWare")
  240. 21h    Negotiate Buffer Size
  241. 22h/00h    TTS Is Available                (see AX=C702h"NetWare")
  242. 22h/01h    TTS Begin Transaction                (see AX=C700h"NetWare")
  243. 22h/02h    TTS End Transaction                (see AX=C701h"NetWare")
  244. 22h/03h    TTS Abort Transaction                (see AX=C703h"NetWare")
  245. 22h/04h    TTS Transaction Status                (see AX=C704h"NetWare")
  246. 22h/05h    TTS Get Application Thresholds            (see AX=C705h"NetWare")
  247. 22h/06h    TTS Set Application Thresholds            (see AX=C706h"NetWare")
  248. 22h/07h    TTS Get Workstation Thresholds            (see AX=C707h"NetWare")
  249. 22h/08h    TTS Set Workstation Thresholds            (see AX=C708h"NetWare")
  250. 22h/09h    TTS Get Control Flags
  251. 22h/0Ah    TTS Set Control Flags
  252. 23h/01h    AFP Create Directory                (see AX=F223h/SF=01h)
  253. 23h/02h    AFP Create File                    (see AX=F223h/SF=02h)
  254. 23h/03h    AFP Delete                    (see AX=F223h/SF=03h)
  255. 23h/04h    AFP Get Entry ID From Name            (see AX=F223h/SF=04h)
  256. 23h/05h    AFP Get File Information            (see AX=F223h/SF=05h)
  257. 23h/06h    AFP Get Entry ID From NetWare Handle        (see AX=F223h/SF=06h)
  258. 23h/07h    AFP Rename                    (see AX=F223h/SF=07h)
  259. 23h/08h    AFP Open File Fork                (see AX=F223h/SF=08h)
  260. 23h/09h    AFP Set File Information            (see AX=F223h/SF=09h)
  261. 23h/0Ah    AFP Scan File Information            (see AX=F223h/SF=0Ah)
  262. 23h/0Bh    AFP Alloc Temporary Dir Handle            (see AX=F223h/SF=0Bh)
  263. 23h/0Ch    AFP Get Entry ID From Path Name            (see AX=F223h/SF=0Ch)
  264. 23h/0Dh AFP 2.0 Create Directory            (see AX=F223h/SF=0Dh)
  265. 23h/0Eh AFP 2.0 Create File                (see AX=F223h/SF=0Eh)
  266. 23h/10h AFP 2.0 Set File Information            (see AX=F223h/SF=10h)
  267. 23h/11h AFP 2.0 Scan File Information            (see AX=F223h/SF=11h)
  268. 23h/12h AFP Get DOS Name from Entry ID            (see AX=F223h/SF=12h)
  269. 23h/13h AFP Get Macintosh Info on Deleted File        (see AX=F223h/SF=13h)
  270. 3Dh    Commit File
  271. 3Eh    File Search Initialize (FindFirst)        (see AX=F23Eh)
  272. 3Fh    File Search Continue (FindNext)            (see AX=F23Fh)
  273. 40h    Search File
  274. 42h    Close File                    (see AX=F242h)
  275. 43h    File Create                    (see AX=F243h)
  276. 44h    File Erase                    (see AX=F244h)
  277. 45h    File Rename
  278. 46h    Set File Attributes
  279. 47h    Get File Size                    (see AX=F247h)
  280. 48h    File Read
  281. 49h    File Write
  282. 4Ah    File Server Copy                (see AX=F24Ah)
  283. 4Bh    Set File Time and Date
  284. 4Ch    File Open
  285. 4Dh    Create New File                    (see AX=F24Dh)
  286. 4Eh    Allow Task Access to File            (see AX=F24Eh)
  287. 4Fh    Set Extended File Attributes            (see AH=B6h"NetWare")
  288. 54h    Open Create File                (see also AX=6C00h)
  289. 55h    Get Sparse File Data Block Bit Map
  290. 56h/xx    extended attribute services (OS/2)
  291. 56h/01h    Close Extended Attribute Handle            (see AX=F256h/SF=01h)
  292. 56h/02h    Write Extended Attribute            (see AX=F256h/SF=02h)
  293. 56h/03h    Read Extended Attribute                (see AX=F256h/SF=03h)
  294. 56h/04h    Enumerate Extended Attributes            (see AX=F256h/SF=04h)
  295. 56h/05h    Duplicate Extended Attributes            (see AX=F256h/SF=05h)
  296. 57h/01h    Open/Create File or Subdirectory        (see AX=F257h/SF=01h)
  297. 57h/02h    Initialize Search, continue with 57h/03h    (see AX=F257h/SF=02h)
  298. 57h/03h    Scan NS Entry Info                (see AX=F257h/SF=03h)
  299. 57h/04h    Rename or Move File or Subdirectory        (see AX=F257h/SF=04h)
  300. 57h/05h    Scan File or Subdirectory for Trustees        (see AX=F257h/SF=05h)
  301. 57h/06h    Obtain File or Subdirectory Information        (see AX=F257h/SF=06h)
  302. 57h/07h    Modify File or Subdirectory DOS Information    (see AX=F257h/SF=07h)
  303. 57h/08h    Delete File/Directory                (see AX=F257h/SF=08h)
  304. 57h/09h    Set Short Directory Handle            (see AX=F257h/SF=09h)
  305. 57h/0Ah    Add Trustee Set                    (see AX=F257h/SF=0Ah)
  306. 57h/0Bh    Delete Trustee                    (see AX=F257h/SF=0Bh)
  307. 57h/0Ch    Allocate Short Directory Handle            (see AX=F257h/SF=0Ch)
  308. 57h/10h Scan Salvageable Files                (see AX=F257h/SF=10h)
  309. 57h/11h Recover Salvageable File            (see AX=F257h/SF=11h)
  310. 57h/12h Purge Salvageable File                (see AX=F257h/SF=12h)
  311. 57h/13h    Get NS Information                (see AX=F257h/SF=13h)
  312. 57h/15h    Get Path String from Short Directory Handle    (see AX=F257h/SF=15h)
  313. 57h/16h    Generate Directory Base and Volume Number    (see AX=F257h/SF=16h)
  314. 57h/17h    Get Name Space Info                (see AX=F257h/SF=17h)
  315. 57h/18h Get Name Spaces Loaded                (see AX=F257h/SF=18h)
  316. 57h/19h    Write Name Space Info                (see AX=F257h/SF=19h)
  317. 57h/1Ah    Read Extended Name Space Info            (see AX=F257h/SF=1Ah)
  318. 57h/1Bh    Write Extended Name Space Info            (see AX=F257h/SF=1Bh)
  319. 57h/1Ch    Get NS Full Path String                (see AX=F257h/SF=1Ch)
  320. 57h/1Dh    Get Effective Directory Rights            (see AX=F257h/SF=1Dh)
  321. 58h/01h    Get Volume Audit Statistics            (see AX=F258h/SF=01h)
  322. 58h/02h    Add Audit Property                (see AX=F258h/SF=02h)
  323. 58h/03h    Login as Volume Auditor                (see AX=F258h/SF=03h)
  324. 58h/04h Change Auditor Password                (see AX=F258h/SF=04h)
  325. 58h/05h Check Audit Access                (see AX=F258h/SF=05h)
  326. 58h/06h    Remove Audit Property                (see AX=F258h/SF=06h)
  327. 58h/07h    Disable Auditing on Volume            (see AX=F258h/SF=07h)
  328. 58h/08h    Enable Auditing on Volume            (see AX=F258h/SF=08h)
  329. 58h/09h    Is User Audited?                (see AX=F258h/SF=09h)
  330. 58h/0Ah    Read Auditing Bit Map                (see AX=F258h/SF=0Ah)
  331. 58h/0Bh    Read Audit Config Header            (see AX=F258h/SF=0Bh)
  332. 58h/0Dh    Logout as Volume Auditor            (see AX=F258h/SF=0Dh)
  333. 58h/0Eh    Reset Auditing File                (see AX=F258h/SF=0Eh)
  334. 58h/0Fh    Reset Audit History File            (see AX=F258h/SF=0Fh)
  335. 58h/10h    Write Auditing Bit Map                (see AX=F258h/SF=10h)
  336. 58h/11h    Write Audit Config Header            (see AX=F258h/SF=11h)
  337. 58h/13h    Get Auditing Flags                (see AX=F258h/SF=13h)
  338. 58h/14h    Close Old Auditing File                (see AX=F258h/SF=14h)
  339. 58h/15h    Delete Old Auditing File            (see AX=F258h/SF=15h)
  340. 58h/16h    Check Audit Level Two Access            (see AX=F258h/SF=16h)
  341. 5Ah/01h    Get DM (Data Migration) Info            (see AX=F25Ah/SF=01h)
  342. 5Ah/80h Move File Data to DM                (see AX=F25Ah/SF=80h)
  343. 5Ah/81h DM File Information                (see AX=F25Ah/SF=81h)
  344. 5Ah/82h Volume DM Status                (see AX=F25Ah/SF=82h)
  345. 5Ah/83h Get Migration or Status Information        (see AX=F25Ah/SF=83h)
  346. 5Ah/84h DM Support Module Information            (see AX=F25Ah/SF=84h)
  347. 5Ah/85h Move File Data from DM                (see AX=F25Ah/SF=85h)
  348. 5Ah/86h Get or Set Default Support Module        (see AX=F25Ah/SF=86h)
  349. 61h    Negotiate LIP Buffer, packet signing, and IPX checksums
  350. 65h    Packet Burst Connection
  351. 68h/xxh NetWare 4.x directory services (subfn at DS:[SI+11h])
  352. 68h/01h NDS resolve name                (see AX=F268h/SF=01h)
  353. 68h/03h    NDS read property
  354. 68h/04h NDS Get Bindery Context                (see AX=F268h/SF=04h)
  355. 68h/05h NDS Monitor Connection                (see AX=F268h/SF=05h)
  356. 68h/16h NDS List Partitions                (see AX=F268h/SF=16h)
  357. 68h/35h NDS get server address                (see AX=F268h/SF=35h)
  358. 68h/36h NDS set keys
  359. 68h/39h NDS begin login
  360. 68h/3Ah NDS finish login
  361. 68h/3Bh NDS begin authenticate
  362. 68h/3Ch NDS finish authenticate
  363. 68h/3Dh NDS Logout                    (see AX=F268h/SF=3Dh)
  364. 68h/C8h Get DS Auditing Statistics            (see AX=F268h/SF=C8h)
  365. 69h    Log File                    (see AX=F269h)
  366. 6Ah    Lock File Set                    (see AX=F26Ah)
  367. 6Bh    Log Logical Record    !!!APIREF09 line 1430
  368. 6Ch    Lock Logical Record Set                (see AX=F26Ch)
  369. 6Dh    Log Physical Record
  370. 6Eh    Lock Physical Record Set            (see AX=F26Eh)
  371. 6Fh/00h Open Semaphore                    (see AX=F26Fh/SF=00h)
  372. 6Fh/01h Close Semaphore                    (see AX=F26Fh/SF=01h)
  373. 6Fh/02h Wait on Semaphore                (see AX=F26Fh/SF=02h)
  374. 6Fh/03h Signal Semaphore                (see AX=F26Fh/SF=03h)
  375. 6Fh/04h Examine Semaphore                (see AX=F26Fh/SF=04h)
  376. 72h    NetWare 4.x Time Services            (see AX=F272h)
  377. 7Bh/01h    Get Cache Information                (see AX=F27Bh/SF=01h)
  378. 7Bh/02h    Get File Server Information            (see AX=F27Bh/SF=02h)
  379. 7Bh/03h    Get NetWare File Systems Information
  380. 7Bh/04h    Get User Information                (see AX=F27Bh/SF=04h)
  381. 7Bh/05h    Get Packet Burst Information
  382. 7Bh/06h    Get IPX/SPX Information                (see AX=F27Bh/SF=06h)
  383. 7Bh/07h    Get Garbage Collection Information
  384. 7Bh/08h    Get CPU Information                (see AX=F27Bh/SF=08h)
  385. 7Bh/09h    Get Volume Switch Information            (see AX=F27Bh/SF=09h)
  386. 7Bh/0Ah    Get NLM Loaded List                (see AX=F27Bh/SF=0Ah)
  387. 7Bh/0Bh    Get NLM Information                (see AX=F27Bh/SF=0Bh)
  388. 7Bh/0Ch    Get Directory Cache Information
  389. 7Bh/0Dh    Get OS Version Information            (see AX=F27Bh/SF=0Dh)
  390. 7Bh/0Eh    Get Active Connection List by Type
  391. 7Bh/0Fh    Get NLM's Resource Tag List
  392. 7Bh/14h    Get Active LAN Board List            (see AX=F27Bh/SF=14h)
  393. 7Bh/15h    Get LAN Configuration Information        (see AX=F27Bh/SF=15h)
  394. 7Bh/16h    Get LAN Common Counters Information        (see AX=F27Bh/SF=16h)
  395. 7Bh/17h    Get LAN Custom Counters Information
  396. 7Bh/18h    Get LAN Config Strings
  397. 7Bh/19h    Get LSL Information
  398. 7Bh/1Ah    Get LSL Logical Board Statistics
  399. 7Bh/1Eh    Get Media Manager Object Information
  400. 7Bh/1Fh    Get Media Manager Object List
  401. 7Bh/20h    Get Media Manager Object Children List
  402. 7Bh/21h    Get Volume Segment List
  403. 7Bh/28h    Get Active Protocol Stacks
  404. 7Bh/29h    Get Protocol Stack Configuration Information    (see AX=F27Bh/SF=29h)
  405. 7Bh/2Ah    Get Protocol Stack Statistics Information
  406. 7Bh/2Bh    Get Protocol Stack Custom Information
  407. 7Bh/2Ch    Get Protocol Stack Numbers By Media Number
  408. 7Bh/2Dh    Get Protocol Stack Numbers By LAN Board Number
  409. 7Bh/2Eh    Get Media Name by Media Number
  410. 7Bh/2Fh    Get Loaded Media Number List
  411. 7Bh/32h    Get General Router and SAP Information
  412. 7Bh/33h    Get Network Router Information            (see AX=F27Bh/SF=33h)
  413. 7Bh/34h    Get Network Routers Information
  414. 7Bh/35h    Get Known Networks Information            (see AX=F27Bh/SF=35h)
  415. 7Bh/36h    Get Server Information
  416. 7Bh/38h    Get Known Servers Information            (see AX=F27Bh/SF=38h)
  417. 7Bh/3Ch    Get Server Set Commands Information        (see AX=F27Bh/SF=3Ch)
  418. 7Bh/3Dh    Get Server Set Categories            (see AX=F27Bh/SF=3Dh)
  419. Note:    the subfunction is stored at DS:SI for AL=56h,57h, DS:SI+2 for
  420.       AL=15h-17h,23h
  421. --------T-21F2-------------------------------
  422. INT 21 - DoubleDOS - SEND CHARACTER TO KEYBOARD BUFFER OF OTHER JOB
  423.     AH = F2h
  424.     AL = character
  425. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  426.         00h successful
  427.         01h buffer full (128 characters)
  428. SeeAlso: AH=E2h"DoubleDOS",AH=F1h"DoubleDOS",AH=F3h"DoubleDOS"
  429. SeeAlso: AH=F8h"DoubleDOS"
  430. --------N-21F203-----------------------------
  431. INT 21 - Novell NetWare - LOG FILE (OLD)
  432.     AX = F203h
  433.     CX = length of request packet in bytes
  434.     DX = 0000h (no reply packet)
  435.     DS:SI -> request packet (see #2132 at AX=F269h)
  436.     ES:DI ignored
  437. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  438. SeeAlso: AH=F2h"Novell",AX=F204h,AX=F269h,AH=EBh"NetWare"
  439. --------N-21F204-----------------------------
  440. INT 21 - Novell NetWare - LOCK FILE SET (OLD)
  441.     AX = F204h
  442.     CX = length of request packet in bytes
  443.     DX = 0000h (no reply packet)
  444.     DS:SI -> request packet (see #1751)
  445.     ES:DI ignored
  446. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  447. SeeAlso: AH=F2h"Novell",AX=F203h,AX=F26Ah,AH=CBh"NetWare"
  448.  
  449. Format of NetWare "Lock File Set (old)" request packet:
  450. Offset    Size    Description    (Table 1751)
  451.  00h    WORD    lock timeout in clock ticks (0000h = don't wait)
  452. --------N-21F207-----------------------------
  453. INT 21 - Novell NetWare - CLEAR FILE
  454.     AX = F207h
  455.     CX = length of request packet in bytes
  456.     DX = 0000h (no reply packet)
  457.     DS:SI -> request packet (see #1752)
  458.     ES:DI ignored
  459. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  460. SeeAlso: AH=CEh,AH=EDh"NetWare",AH=F2h"NetWare",AX=F208h
  461.  
  462. Format of NetWare "Clear File" request packet:
  463. Offset    Size    Description    (Table 1752)
  464.  00h    BYTE    directory handle
  465.  01h    BYTE    length of filename
  466.  02h  N BYTEs    filename
  467. SeeAlso: #1753
  468. --------N-21F208-----------------------------
  469. INT 21 - Novell NetWare - CLEAR FILE SET
  470.     AX = F208h
  471.     CX = length of request packet in bytes
  472.     DX = 0000h (no reply packet)
  473.     DS:SI -> request packet (see #1753)
  474.     ES:DI ignored
  475. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  476. SeeAlso: AH=CFh"NetWare",AH=F2h"NetWare",AX=F207h
  477.  
  478. Format of NetWare "Clear File Set" request packet:
  479. Offset    Size    Description    (Table 1753)
  480.  00h    BYTE    lock flag (nonzero to lock)
  481. SeeAlso: #1752
  482. --------N-21F20A-----------------------------
  483. INT 21 - Novell NetWare - LOCK LOGICAL RECORD SET (OLD)
  484.     AX = F20Ah
  485.     CX = length of request packet in bytes
  486.     DX = 0000h (no reply packet)
  487.     DS:SI -> request packet (see #2134 at AX=F26Ch)
  488.     ES:DI ignored
  489. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  490. SeeAlso: AH=F2h"Novell",AX=F204h,AX=F26Ch,AH=D1h"NetWare"
  491. --------N-21F20B-----------------------------
  492. INT 21 - Novell NetWare - CLEAR LOGICAL RECORD
  493.     AX = F20Bh
  494.     CX = length of request packet in bytes
  495.     DX = 0000h (no reply packet)
  496.     DS:SI -> request packet (see #1754)
  497.     ES:DI ignored
  498. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  499. SeeAlso: AH=D4h"NetWare",AH=F2h"NetWare",AX=F207h,AX=F20Eh
  500.  
  501. Format of NetWare "Clear Logical Record" request packet:
  502. Offset    Size    Description    (Table 1754)
  503.  00h    BYTE    length of record name (max 128)
  504.  01h  N BYTEs    logical record name
  505. SeeAlso: #1755
  506. --------N-21F20E-----------------------------
  507. INT 21 - Novell NetWare - CLEAR LOGICAL RECORD SET
  508.     AX = F20Eh
  509.     CX = length of request packet in bytes
  510.     DX = 0000h (no reply packet)
  511.     DS:SI -> request packet (see #1755)
  512.     ES:DI ignored
  513. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  514. SeeAlso: AH=D5h"NetWare",AH=F2h"NetWare",AX=F207h,AX=F20Bh
  515.  
  516. Format of NetWare "Clear Logical Record Set" request packet:
  517. Offset    Size    Description    (Table 1755)
  518.  00h    BYTE    lock flag
  519. SeeAlso: #1754
  520. --------N-21F211SF06-------------------------
  521. INT 21 - Novell NetWare - GET PRINTER STATUS
  522.     AX = F211h subfn 06h
  523.     CX = length of request buffer in bytes
  524.     DX = length of reply buffer in bytes
  525.     DS:SI -> request buffer (see #1756)
  526.     ES:DI -> reply buffer (see #1757)
  527. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  528. SeeAlso: AH=E0h"NetWare",AH=F2h"Novell",AX=F211h/SF=0Ah
  529.  
  530. Format of NetWare "Get Printer Status" request packet:
  531. Offset    Size    Description    (Table 1756)
  532.  00h    WORD    length of following data
  533.  02h    BYTE    06h (subfunction "Get Printer Status")
  534.  03h    BYTE    target printer number (00h-04h)
  535. SeeAlso: #1757,#1467
  536.  
  537. Format of NetWare "Get Printer Status" reply packet:
  538. Offset    Size    Description    (Table 1757)
  539.  00h    BYTE    flag: printer halted if FFh
  540.  01h    BYTE    flag: printer off-line if FFh
  541.  02h    BYTE    current form type
  542.  03h    BYTE    redirected printer number
  543. SeeAlso: #1756
  544. --------N-21F211SF0A-------------------------
  545. INT 21 - Novell NetWare - GET PRINTER QUEUE
  546.     AX = F211h subfn 0Ah
  547.     CX = length of request buffer in bytes
  548.     DX = length of reply buffer in bytes
  549.     DS:SI -> request buffer (see #1758)
  550.     ES:DI -> reply buffer
  551. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  552. SeeAlso: AH=F2h"Novell",AX=F211h/SF=06h
  553.  
  554. Format of NetWare "Get Printer Queue" request packet:
  555. Offset    Size    Description    (Table 1758)
  556.  00h    WORD    length of following data
  557.  02h    BYTE    0Ah (subfunction "Get Printer Queue")
  558.     ???
  559. --------N-21F212-----------------------------
  560. INT 21 - Novell NetWare - GET VOLUME INFO WITH NUMBER
  561.     AX = F212h
  562.     CX = length of request buffer in bytes
  563.     DX = length of reply buffer in bytes
  564.     DS:SI -> request buffer (see #1759)
  565.     ES:DI -> reply buffer (see #1760)
  566. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  567. SeeAlso: AH=F2h"Novell",AX=F216h/SF=15h,AX=F217h/SF=E9h
  568.  
  569. Format of NetWare "Get Volume Info with Number" request packet:
  570. Offset    Size    Description    (Table 1759)
  571.  00h    BYTE    volume number
  572. SeeAlso: #1760
  573.  
  574. Format of NetWare "Get Volume Info with Number" reply packet:
  575. Offset    Size    Description    (Table 1760)
  576.  00h    WORD    sectors per cluster
  577.  02h    WORD    total clusters in volume
  578.  04h    WORD    free clusters
  579.  06h    WORD    total directory entries for volume (FFFFh if not relevant)
  580.  08h    WORD    available directory entries (FFFFh if not relevant)
  581.  0Ah 16 BYTEs    volume name
  582.  1Ah    WORD    removability
  583.         0000h fixed media
  584.         FFFFh removable
  585. SeeAlso: #1759
  586. --------N-21F214CX0000-----------------------
  587. INT 21 - Novell NetWare - GET FILE SERVER DATE AND TIME
  588.     AX = F214h
  589.     CX = 0000h (no request packet)
  590.     DX = length of reply packet in bytes
  591.     ES:DI -> buffer for reply packet (see #1761)
  592. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  593. SeeAlso: AH=F2h"NetWare",AH=E3h/SF=CAh,AH=E7h"NetWare"
  594.  
  595. Format of NetWare "Get File Server Date and Time" reply packet:
  596. Offset    Size    Description    (Table 1761)
  597.  00h    BYTE    year-1900 (80-179)
  598.  01h    BYTE    month (1-12)
  599.  02h    BYTE    day (1-31)
  600.  03h    BYTE    hour
  601.  04h    BYTE    minute
  602.  05h    BYTE    second
  603.  06h    BYTE    day of week
  604. SeeAlso: #1666 at AH=E3h/SF=CAh,#1742 at AH=E7h
  605. --------N-21F215SF01-------------------------
  606. INT 21 - Novell NetWare - GET BROADCAST MESSAGE (OLD)
  607.     AX = F215h subfn 01h
  608.     CX = length of request buffer in bytes
  609.     DX = length of reply buffer in bytes
  610.     DS:SI -> request buffer (see #1475 at AH=E1h/SF=01h)
  611.     ES:DI -> reply buffer (see #1762)
  612. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  613. SeeAlso: AH=F2h"Novell",AH=E1h/SF=01h,AX=F215h/SF=02h,AX=F215h/SF=0Bh
  614.  
  615. Format of NetWare "Get Broadcast Message (Old)" reply packet:
  616. Offset    Size    Description    (Table 1762)
  617.  00h    BYTE    length of message (00h-37h)
  618.         00h if no broadcast messages pending
  619.  01h  N BYTEs    message (no control characters or characters > 7Eh)
  620. SeeAlso: #1474,#1475
  621. --------N-21F215SF02-------------------------
  622. INT 21 - Novell NetWare - DISABLE BROADCASTS
  623.     AX = F215h subfn 02h
  624.     CX = length of request packet in bytes
  625.     DX = 0000h (no reply packet)
  626.     DS:SI -> request packet (see #1476 at AH=E1h/SF=02h)
  627.     ES:DI ignored
  628. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  629. SeeAlso: AH=F2h"Novell",AH=E1h/SF=02h,AX=F215h/SF=01h,AX=F215h/SF=03h
  630. --------N-21F215SF03-------------------------
  631. INT 21 - Novell NetWare - ENABLE BROADCASTS
  632.     AX = F215h subfn 03h
  633.     CX = length of request packet in bytes
  634.     DX = 0000h (no reply packet)
  635.     DS:SI -> request packet (see #1477 at AH=E1h/SF=03h)
  636.     ES:DI ignored
  637. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  638. SeeAlso: AH=F2h"Novell",AH=E1h/SF=03h,AX=F215h/SF=01h,AX=F215h/SF=02h
  639. --------N-21F215SF08-------------------------
  640. INT 21 - Novell NetWare - CHECK PIPE STATUS
  641.     AX = F215h subfn 08h
  642.     CX = length of request buffer in bytes
  643.     DX = length of reply buffer in bytes
  644.     DS:SI -> request buffer (see #1488 at AH=E1h/SF=08h)
  645.     ES:DI -> reply buffer (see #1763)
  646. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  647. SeeAlso: AH=F2h"Novell",AH=E1h/SF=08h,AX=F215h/SF=09h
  648.  
  649. Format of NetWare "Check Pipe Status" reply packet:
  650. Offset    Size    Description    (Table 1763)
  651.  00h    BYTE    number of connections
  652.  01h  N BYTEs    list of pipe statuses
  653.         00h open
  654.         FEh incomplete
  655.         FFh closed
  656. SeeAlso: #1488,#1489
  657. --------N-21F215SF09-------------------------
  658. INT 21 - Novell NetWare - BROADCAST TO CONSOLE
  659.     AX = F215h subfn 09h
  660.     CX = length of request packet in bytes
  661.     DX = 0000h (no reply packet)
  662.     DS:SI -> request packet (see #1490 at AH=E1h/SF=09h)
  663.     ES:DI ignored
  664. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  665. Note:    requires Access Control rights to the target directory or its parent
  666. SeeAlso: AH=E1h/SF=09h,AH=F2h"NetWare",AX=F215h/SF=08h
  667. --------N-21F215SF0B-------------------------
  668. INT 21 - Novell NetWare - GET BROADCAST MESSAGE
  669.     AX = F215h subfn 0Bh
  670.     CX = length of request buffer in bytes
  671.     DX = length of reply buffer in bytes
  672.     DS:SI -> request buffer (see #1764)
  673.     ES:DI -> reply buffer (see #1765)
  674. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  675. SeeAlso: AH=F2h"Novell",AH=E1h/SF=01h,AX=F215h/SF=01h
  676.  
  677. Format of NetWare "Get Broadcast Message" request packet:
  678. Offset    Size    Description    (Table 1764)
  679.  00h    WORD    length of following data
  680.  02h    BYTE    0Bh (subfunction "Get Broadcast Message")
  681. SeeAlso: #1765,#1474
  682.  
  683. Format of NetWare "Get Broadcast Message" reply packet:
  684. Offset    Size    Description    (Table 1765)
  685.  00h    BYTE    length of message
  686.  01h  N BYTEs    message
  687. SeeAlso: #1764,#1475
  688. --------N-21F216SF00-------------------------
  689. INT 21 - Novell NetWare - SET DIRECTORY HANDLE
  690.     AX = F216h subfn 00h
  691.     CX = length of request buffer in bytes
  692.     DX = 0000h (no reply buffer)
  693.     DS:SI -> request buffer (see #1493 at AH=E2h/SF=00h)
  694.     ES:DI ignored
  695. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  696. SeeAlso: AH=F2h"Novell",AH=E2h/SF=00h,AX=F216h/SF=01h
  697. --------N-21F216SF01-------------------------
  698. INT 21 - Novell NetWare - GET DIRECTORY PATH
  699.     AX = F216h subfn 01h
  700.     CX = length of request buffer in bytes
  701.     DX = length of reply buffer in bytes
  702.     DS:SI -> request buffer (see #1495 at AH=E2h/SF=01h)
  703.     ES:DI -> reply buffer (see #1496)
  704. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  705. SeeAlso: AH=F2h"Novell",AH=E2h/SF=01h,AX=F216h/SF=00h
  706. --------N-21F216SF02-------------------------
  707. INT 21 - Novell NetWare - SCAN DIRECTORY INFORMATION
  708.     AX = F216h subfn 02h
  709.     CX = length of request buffer in bytes
  710.     DX = length of reply buffer in bytes
  711.     DS:SI -> request buffer (see #1497 at AH=E2h/SF=02h)
  712.     ES:DI -> reply buffer (see #1766)
  713. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  714. SeeAlso: AH=F2h"Novell",AH=E2h/SF=02h,AX=F216h/SF=01h,AX=F216h/SF=03h
  715.  
  716. Format of NetWare "Scan Directory Information" reply packet:
  717. Offset    Size    Description    (Table 1766)
  718.  00h 16 BYTEs    subdirectory name
  719.  10h    DWORD    (big-endian) date and time of creation (see #1499)
  720.  14h    DWORD    (big-endian) object ID of owner
  721.  18h    BYTE    maximum directory rights (see #1502)
  722.  19h    BYTE    unused
  723.  1Ah    WORD    (big-endian) subdirectory number
  724. SeeAlso: #1497,#1498 at AH=E2h/SF=02h
  725. --------N-21F216SF03-------------------------
  726. INT 21 - Novell NetWare - GET EFFECTIVE DIRECTORY RIGHTS (OLD)
  727.     AX = F216h subfn 03h
  728.     CX = length of request buffer in bytes
  729.     DX = length of reply buffer in bytes
  730.     DS:SI -> request buffer (see #1500 at AH=E2h/SF=03h)
  731.     ES:DI -> reply buffer (see #1767)
  732. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  733. SeeAlso: AH=E2h/SF=03h,AX=F216h/SF=02h,AX=F216h/SF=04h,AX=F257h/SF=1Dh
  734.  
  735. Format of NetWare "Get Effective Directory Rights (old)" reply buffer:
  736. Offset    Size    Description    (Table 1767)
  737.  00h    BYTE    effective directory rights (see #1502 at AH=E2h/SF=03h)
  738. SeeAlso: #1500,#1501 at AH=E2h/SF=03h
  739. --------N-21F216SF04-------------------------
  740. INT 21 - Novell NetWare - MODIFY MAXIMUM RIGHTS MASK
  741.     AX = F216h subfn 04h
  742.     CX = length of request buffer in bytes
  743.     DX = 0000h (no reply packet)
  744.     DS:SI -> request packet    (see #1503 at AH=E2h/SF=04h)
  745.     ES:DI ignored
  746. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  747. SeeAlso: AH=F2h"Novell",AH=E2h/SF=04h,AX=F216h/SF=03h,AX=F216h/SF=05h
  748. --------N-21F216SF05-------------------------
  749. INT 21 - Novell NetWare - GET VOLUME NUMBER
  750.     AX = F216h subfn 05h
  751.     CX = length of request buffer in bytes
  752.     DX = length of reply buffer in bytes
  753.     DS:SI -> request buffer (see #1505 at AH=E2h/SF=05h)
  754.     ES:DI -> reply buffer (see #1768)
  755. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  756. SeeAlso: AH=F2h"Novell",AH=E2h/SF=05h,AX=F216h/SF=02h,AX=F216h/SF=06h
  757.  
  758. Format of NetWare "Get Volume Number" reply packet:
  759. Offset    Size    Description    (Table 1768)
  760.  00h    BYTE    volume number
  761. SeeAlso: #1505 at AH=E2h/SF=05h
  762. --------N-21F216SF06-------------------------
  763. INT 21 - Novell NetWare - GET VOLUME NAME
  764.     AX = F216h subfn 06h
  765.     CX = length of request buffer in bytes
  766.     DX = length of reply buffer in bytes
  767.     DS:SI -> request buffer (see #1507 at AH=E2h/SF=06h)
  768.     ES:DI -> reply buffer (see #1769)
  769. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  770. SeeAlso: AH=F2h"Novell",AH=E2h/SF=06h,AX=F216h/SF=05h,AX=F216h/SF=0Ah
  771.  
  772. Format of NetWare "Get Volume Name" reply packet:
  773. Offset    Size    Description    (Table 1769)
  774. SeeAlso: #1507,#1508 at AH=E2h/SF=06h
  775. --------N-21F216SF0A-------------------------
  776. INT 21 - Novell NetWare - CREATE DIRECTORY
  777.     AX = F216h subfn 0Ah
  778.     CX = length of request buffer in bytes
  779.     DX = 0000h (no reply packet)
  780.     DS:SI -> request packet (see #1509 at AH=E2h/SF=0Ah)
  781.     ES:DI ignored
  782. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  783. SeeAlso: AH=39h,AH=F2h"Novell",AH=E2h/SF=0Ah,AX=F216h/SF=0Bh
  784. --------N-21F216SF0B-------------------------
  785. INT 21 - Novell NetWare - DELETE DIRECTORY
  786.     AX = F216h subfn 0Bh
  787.     CX = length of request buffer in bytes
  788.     DX = 0000h (no reply packet)
  789.     DS:SI -> request packet (see #1511 at AH=E2h/SF=0Bh)
  790.     ES:DI ignored
  791. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  792. SeeAlso: AH=3Ah,AH=F2h"Novell",AH=E2h/SF=0Bh,AX=F216h/SF=0Ah
  793. --------N-21F216SF0C-------------------------
  794. INT 21 - Novell NetWare - SCAN DIRECTORY FOR TRUSTEES
  795.     AX = F216h subfn 0Ch
  796.     CX = length of request buffer in bytes
  797.     DX = length of reply buffer in bytes
  798.     DS:SI -> request buffer (see #1512 at AH=E2h/SF=0Ch)
  799.     ES:DI -> reply buffer (see #1770)
  800. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  801. SeeAlso: AH=F2h"Novell",AH=E2h/SF=0Ch,AX=F216h/SF=0Dh
  802.  
  803. Format of NetWare "Scan Directory For Trustees" reply packet:
  804. Offset    Size    Description    (Table 1770)
  805.  02h 16 BYTEs    directory name
  806.  12h  4 BYTEs    date and time of creation
  807.  16h    DWORD    (big-endian) object ID of owner
  808.  1Ah  5 DWORDs    (big-endian) object IDs of Trustees 0 through 4
  809.         00000000h = end of group
  810.  2Eh  5 BYTEs    directory rights for Trustees 0 through 4 (see #1502)
  811. SeeAlso: #1512 at AH=E2h/SF=0Ch
  812. --------N-21F216SF0D-------------------------
  813. INT 21 - Novell NetWare - ADD TRUSTEE TO DIRECTORY
  814.     AX = F216h subfn 0Dh
  815.     CX = length of request buffer in bytes
  816.     DX = 0000h (no reply packet)
  817.     DS:SI -> request packet    (see #1514 at AH=E2h/SF=0Dh)
  818.     ES:DI ignored
  819. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  820. Note:    requires Access Control rights to the target directory or its parent
  821. SeeAlso: AH=F2h"NetWare",AH=E2h/SF=0Dh,AX=F216h/SF=0Ch,AX=F216h/SF=0Eh
  822. --------N-21F216SF0E-------------------------
  823. INT 21 - Novell NetWare - DELETE TRUSTEE FROM DIRECTORY
  824.     AX = F216h subfn 0Eh
  825.     CX = length of request buffer in bytes
  826.     DX = 0000h (no reply packet)
  827.     DS:SI -> request packet    (see #1515 at AH=E2h/SF=0Eh)
  828.     ES:DI ignored
  829. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  830. SeeAlso: AH=F2h"Novell",AH=E2h/SF=0Eh,AX=F216h/SF=0Ch,AX=F216h/SF=0Dh
  831. --------N-21F216SF0F-------------------------
  832. INT 21 - Novell NetWare - RENAME DIRECTORY
  833.     AX = F216h subfn 0Fh
  834.     CX = length of request buffer in bytes
  835.     DX = 0000h (no reply packet)
  836.     DS:SI -> request packet (see #1517 at AH=E2h/SF=0Fh)
  837.     ES:DI ignored
  838. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  839. SeeAlso: AH=F2h"Novell",AH=E2h/SF=0Fh,AX=F216h/SF=0Ah
  840. --------N-21F216SF10-------------------------
  841. INT 21 - Novell NetWare - PURGE ERASED FILES (OLD)
  842.     AX = F216h subfn 10h
  843.     CX = length of request buffer in bytes
  844.     DX = 0000h (no reply packet)
  845.     DS:SI -> request packet (see #1518 at AH=E2h/SF=10h)
  846.     ES:DI ignored
  847. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  848. SeeAlso: AH=F2h"Novell",AH=E2h/SF=10h,AX=F216h/SF=11h
  849. --------N-21F216SF11-------------------------
  850. INT 21 - Novell NetWare - RECOVER ERASED FILE (OLD)
  851.     AX = F216h subfn 11h
  852.     CX = length of request buffer in bytes
  853.     DX = length of reply buffer in bytes
  854.     DS:SI -> request packet (see #1520 at AH=E2h/SF=11h)
  855.     ES:DI -> reply buffer (see #1771)
  856. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  857. SeeAlso: AH=F2h"Novell",AH=E2h/SF=11h,AX=F216h/SF=10h
  858.  
  859. Format of NetWare "Recover Erased File (Old)" reply packet:
  860. Offset    Size    Description    (Table 1771)
  861.  02h 15 BYTEs    ASCIZ name of erased file
  862.  11h 15 BYTEs    ASCIZ name under which file was restored
  863. SeeAlso: #1520,#1521 at AH=E2h/SF=11h
  864. --------N-21F216SF12-------------------------
  865. INT 21 - Novell NetWare - ALLOCATE PERMANENT DIRECTORY HANDLE
  866.     AX = F216h subfn 12h
  867.     CX = length of request buffer in bytes
  868.     DX = length of reply buffer in bytes
  869.     DS:SI -> request packet (see #1522 at AH=E2h/SF=12h)
  870.     ES:DI -> reply buffer (see #1773)
  871. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  872. SeeAlso: AH=F2h"Novell",AX=F216h/SF=16h,AH=E2h/SF=12h
  873.  
  874. Format of NetWare IPX fragment list entry:
  875. Offset    Size    Description    (Table 1772)
  876.  00h    DWORD    -> fragment data
  877.  04h    WORD    size of fragment in bytes
  878.  
  879. Format of NetWare "Allocate Permanent Directory Handle" reply packet:
  880. Offset    Size    Description    (Table 1773)
  881.  00h    BYTE    new directory handle
  882.  01h    BYTE    access rights
  883. SeeAlso: #1522,#1526,#1772
  884. --------N-21F216SF13-------------------------
  885. INT 21 - Novell NetWare - ALLOCATE TEMPORARY DIRECTORY HANDLE
  886.     AX = F216h subfn 13h
  887.     CX = length of request packet in bytes
  888.     DX = 0000h (no reply packet)
  889.     DS:SI -> request packet (see #1524 at AH=E2h/SF=13h)
  890.     ES:DI ignored
  891. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  892. SeeAlso: AH=F2h"Novell",AX=F216h/SF=12h,AX=F216h/SF=16h,AH=E2h/SF=13h
  893. --------N-21F216SF14-------------------------
  894. INT 21 - Novell NetWare - DEALLOCATE DIRECTORY HANDLE
  895.     AX = F216h subfn 14h
  896.     CX = length of request packet in bytes
  897.     DX = 0000h (no reply packet)
  898.     DS:SI -> request packet    (see #1525 at AH=E2h/SF=14h)
  899.     ES:DI ignored
  900. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  901. SeeAlso: AH=F2h"Novell",AH=E2h/SF=14h,AX=F216h/SF=13h,AX=F216h/SF=16h
  902. --------N-21F216SF15-------------------------
  903. INT 21 - Novell NetWare - GET VOLUME INFO WITH HANDLE
  904.     AX = F216h subfn 15h
  905.     CX = length of request packet in bytes
  906.     DX = length of reply buffer in bytes
  907.     DS:SI -> request packet (see #1527 at AH=E2h/SF=15h)
  908.     ES:DI -> reply buffer (see #1774)
  909. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  910. SeeAlso: AH=F2h"Novell",AH=E2h/SF=15h,AX=F212h,AX=F216h/SF=13h
  911.  
  912. Format of NetWare "Get Volume Info With Handle" reply packet:
  913. Offset    Size    Description    (Table 1774)
  914.  00h    WORD    (big-endian) sectors per block
  915.  02h    WORD    (big-endian) total blocks on volume
  916.  04h    WORD    (big-endian) blocks available on volume
  917.  06h    WORD    (big-endian) total directory slots
  918.  08h    WORD    (big-endian) directory slots available
  919.  0Ah 16 BYTEs    NUL-padded volume name
  920.  1Ah    WORD    (big-endian) flag: volume removable if nonzero
  921. SeeAlso: #1527 at AH=E2h/SF=15h
  922. --------N-21F216SF16-------------------------
  923. INT 21 - Novell NetWare v2+ - ALLOCATE SPECIAL TEMPORARY DIRECTORY HANDLE
  924.     AX = F216h subfn 16h
  925.     CX = length of request packet in bytes
  926.     DX = 0000h (no reply packet)
  927.     DS:SI -> request packet (see #1529 at AH=E2h/SF=16h)
  928.     ES:DI ignored
  929. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  930. SeeAlso: AH=F2h"Novell",AX=F216h/SF=12h,AX=F216h/SF=13h,AH=E2h/SF=16h
  931. --------N-21F216SF17-------------------------
  932. INT 21 - Novell NetWare - SAVE DIRECTORY HANDLE
  933.     AX = F216h subfn 17h
  934.     CX = length of request packet in bytes
  935.     DX = length of reply buffer in bytes
  936.     DS:SI -> request packet (see #1530 at AH=E2h/SF=17h)
  937.     ES:DI -> reply buffer (see #1775)
  938. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  939. SeeAlso: AH=F2h"Novell",AH=E2h/SF=17h,AX=F216h/SF=18h
  940.  
  941. Format of NetWare "Save Directory Handle" reply packet:
  942. Offset    Size    Description    (Table 1775)
  943.  00h 16 BYTEs    save buffer
  944. SeeAlso: #1530,#1531,#1776
  945. --------N-21F216SF18-------------------------
  946. INT 21 - Novell NetWare - RESTORE DIRECTORY HANDLE
  947.     AX = F216h subfn 18h
  948.     CX = length of request packet in bytes
  949.     DX = length of reply buffer in bytes
  950.     DS:SI -> request packet (see #1532 at AH=E2h/SF=18h)
  951.     ES:DI -> reply buffer (see #1776)
  952. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  953. SeeAlso: AH=F2h"Novell",AH=E2h/SF=18h,AX=F216h/SF=17h
  954.  
  955. Format of NetWare "Restore Directory Handle" reply packet:
  956. Offset    Size    Description    (Table 1776)
  957.  00h    BYTE    new directory handle
  958.  01h    BYTE    effective rights (see #1502)
  959. SeeAlso: #1533,#1775
  960. --------N-21F216SF19-------------------------
  961. INT 21 - Novell NetWare - SET DIRECTORY INFORMATION
  962.     AX = F216h subfn 19h
  963.     CX = length of request packet in bytes
  964.     DX = 0000h (no reply packet)
  965.     DS:SI -> request packet    (see #1534 at AH=E2h/SF=19h)
  966.     ES:DI ignored
  967. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  968. SeeAlso: AH=F2h"Novell",AH=E2h/SF=19h,AX=F216h/SF=17h
  969. --------N-21F216SF1A-------------------------
  970. INT 21 - Novell NetWare - GET PATH NAME OF VOLUME-DIRECTORY NUMBER PAIR
  971.     AX = F216h subfn 1Ah
  972.     CX = length of request packet in bytes
  973.     DX = length of reply buffer in bytes
  974.     DS:SI -> request packet (see #1536 at AH=E2h/SF=1Ah)
  975.     ES:DI -> reply buffer (see #1777)
  976. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  977. SeeAlso: AH=F2h"Novell",AH=E2h/SF=1Ah,AX=F216h/SF=0Eh
  978.  
  979. Format of NetWare "Get Path Name Of Volume-Dir Number Pair" reply packet:
  980. Offset    Size    Description    (Table 1777)
  981.  00h 256 BYTEs    path
  982. SeeAlso: #1536,#1537 at AH=E2h/SF=1Ah
  983. --------N-21F216SF1B-------------------------
  984. INT 21 - Novell NetWare - SCAN SALVAGEABLE FILES (OLD)
  985.     AX = F216h subfn 1Bh
  986.     CX = length of request packet in bytes
  987.     DX = length of reply buffer in bytes
  988.     DS:SI -> request packet (see #1778)
  989.     ES:DI -> reply buffer (see #1779)
  990. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  991. SeeAlso: AH=F2h"Novell",AX=F216h/SF=1Ch,AX=F216h/SF=1Dh,AX=F257h/SF=10h
  992.  
  993. Format of NetWare "Scan Salvageable Files (Old)" request packet:
  994. Offset    Size    Description    (Table 1778)
  995.  00h    WORD    length of following data
  996.  02h    BYTE    1Bh (subfunction "Scan Salvageable Files (Old)")
  997.  03h    BYTE    directory handle
  998.  04h    DWORD    last sequence number (set to FFFFFFFFh before first call)
  999. SeeAlso: #1779,#2054
  1000.  
  1001. Format of NetWare "Scan Salvageable Files (Old)" reply packet:
  1002. Offset    Size    Description    (Table 1779)
  1003.  00h    DWORD    next sequence number
  1004.  04h    WORD    subdirectory
  1005.  06h    DWORD    attributes
  1006.  0Ah    BYTE    unique ID
  1007.  0Bh    BYTE    flags
  1008.  0Ch    BYTE    name space
  1009.  0Dh    BYTE    length of filename
  1010.  0Eh 14 BYTEs    filename
  1011.  1Ah    DWORD    creation date and time
  1012.  1Eh    DWORD    owner ID
  1013.  22h    DWORD    last-backup date and time
  1014.  26h    DWORD    last-backup ID
  1015.  2Ah    DWORD    last-modified date and time
  1016.  2Eh    WORD    ???
  1017.  30h    DWORD    last-modified ID
  1018.  34h    DWORD    file size
  1019.  38h 44 BYTEs    reserved
  1020.  62h    WORD    inherited rights mask
  1021.  64h    WORD    last-access date
  1022.  66h    DWORD    deleted file's time
  1023.  6Ah    DWORD    deletion date and time
  1024.  6Eh    DWORD    ID of deletor
  1025.  72h 16 BYTEs    reserved
  1026. SeeAlso: #1778,#2055
  1027. --------N-21F216SF1C-------------------------
  1028. INT 21 - Novell NetWare - RECOVER SALVAGEABLE FILE (OLD)
  1029.     AX = F216h subfn 1Ch
  1030.     CX = length of request packet in bytes
  1031.     DX = 0000h (no reply packet)
  1032.     DS:SI -> request packet (see #1780)
  1033.     ES:DI ignored
  1034. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1035. SeeAlso: AH=F2h"Novell",AX=F216h/SF=1Bh,AX=F216h/SF=1Dh,AX=F257h/SF=11h
  1036.  
  1037. Format of NetWare "Recover Salvageable File (Old)" request packet:
  1038. Offset    Size    Description    (Table 1780)
  1039.  00h    WORD    length of following data
  1040.  02h    BYTE    1Ch (subfunction "Recover Salvageable File (Old)")
  1041.  03h    BYTE    directory handle
  1042.  04h    DWORD    sequence number (set to ? before first call)
  1043.  08h    BYTE    length of filename
  1044.  09h  N BYTEs    filename in DOS format
  1045.     BYTE    length of new name for recovered file
  1046.       N BYTEs    recovered filename in NetWare VOLUME:DIRECTORY/.../FILE format
  1047. SeeAlso: #2056
  1048. --------N-21F216SF1D-------------------------
  1049. INT 21 - Novell NetWare - PURGE SALVAGEABLE FILE (OLD)
  1050.     AX = F216h subfn 1Dh
  1051.     CX = length of request packet in bytes
  1052.     DX = 0000h (no reply packet)
  1053.     DS:SI -> request packet (see #1781)
  1054.     ES:DI ignored
  1055. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1056. SeeAlso: AH=F2h"Novell",AX=F216h/SF=1Bh,AX=F216h/SF=1Ch,AX=F257h/SF=12h
  1057.  
  1058. Format of NetWare "Purge Salvageable File (old)" request packet:
  1059. Offset    Size    Description    (Table 1781)
  1060.  00h    WORD    length of following data
  1061.  02h    BYTE    1Dh (subfunction "Purge Salvageable File (Old)")
  1062.  03h    BYTE    directory handle
  1063.  04h    DWORD    directory entry
  1064.  08h    DWORD    sequence number from Scan Salvageable Files
  1065. --------N-21F216SF1E-------------------------
  1066. INT 21 - Novell NetWare - SCAN A DIRECTORY
  1067.     AX = F216h subfn 1Eh
  1068.     CX = length of request packet in bytes
  1069.     DX = length of reply buffer in bytes
  1070.     DS:SI -> request packet (see #1782)
  1071.     ES:DI -> reply buffer (see #1783)
  1072. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1073. SeeAlso: AH=F2h"Novell",AH=E2h/SF=02h,AX=F216h/SF=1Fh
  1074.  
  1075. Format of NetWare "Scan A Directory" request packet:
  1076. Offset    Size    Description    (Table 1782)
  1077.  00h    WORD    length of following data
  1078.  02h    BYTE    1Eh (subfunction "Scan A Directory")
  1079.  03h    BYTE    directory handle
  1080.  04h    BYTE    search attributes
  1081.  05h    DWORD    sequence number
  1082.  09h    BYTE    length of search filespec
  1083.  0Ah  N BYTEs    search filespec
  1084. SeeAlso: #1783
  1085.  
  1086. Format of NetWare "Scan A Directory" reply packet:
  1087. Offset    Size    Description    (Table 1783)
  1088.  00h    DWORD    sequence number (copy into next request packet)
  1089.  04h    DWORD    subdirectory
  1090.  08h    DWORD    attributes
  1091.  0Ch    BYTE    unique ID
  1092.  0Dh    BYTE    flags
  1093.  0Eh    BYTE    name space
  1094.  0Fh    BYTE    length of filename
  1095. ---DOS file---
  1096.  10h 12 BYTEs    DOS filename
  1097.  1Ch    DWORD    creation date and time
  1098.  20h    DWORD    owner ID
  1099.  24h    DWORD    last-archived date and time
  1100.  28h    DWORD    last-archived ID
  1101.  2Ch    DWORD    last-updated date and time
  1102.  30h    DWORD    last-updated ID
  1103.  34h    DWORD    file size
  1104.  38h 44 BYTEs    reserved
  1105.  64h    WORD    inherited rights mask
  1106.  66h    WORD    last-accessed date
  1107.  68h 28 BYTEs    reserved
  1108. ---DOS subdirectory---
  1109.  10h 12 BYTEs    DOS directory name
  1110.  1Ch    DWORD    creation date and time
  1111.  20h    DWORD    owner ID
  1112.  24h    DWORD    last-archived date and time
  1113.  28h    DWORD    last-archived ID
  1114.  2Ch    DWORD    last-updated date and time
  1115.  30h    DWORD    next trustee entry
  1116.  34h 48 BYTEs    reserved
  1117.  64h    DWORD    maximum space
  1118.  68h    WORD    inherited rights mask
  1119.  6Ah 26 BYTEs    unused
  1120. SeeAlso: #1782
  1121. --------N-21F216SF1F-------------------------
  1122. INT 21 - Novell NetWare - GET DIRECTORY ENTRY
  1123.     AX = F216h subfn 1Fh
  1124.     CX = length of request packet in bytes
  1125.     DX = length of reply buffer in bytes
  1126.     DS:SI -> request packet (see #1784)
  1127.     ES:DI -> reply buffer
  1128. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1129. SeeAlso: AH=F2h"Novell",AX=F216h/SF=1Eh
  1130.  
  1131. Format of NetWare "Get Directory Entry" request packet:
  1132. Offset    Size    Description    (Table 1784)
  1133.  00h    WORD    length of following data
  1134.  02h    BYTE    1Fh (subfunction "Get Directory Entry")
  1135.     ???
  1136. --------N-21F216SF20-------------------------
  1137. INT 21 - Novell NetWare - SCAN VOLUME'S USER DISK RESTRICTIONS
  1138.     AX = F216h subfn 20h
  1139.     CX = length of request packet in bytes
  1140.     DX = length of reply buffer in bytes
  1141.     DS:SI -> request packet (see #1785)
  1142.     ES:DI -> reply buffer (see #1786)
  1143. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1144. SeeAlso: AH=F2h"Novell",AX=F216h/SF=23h,AX=F216h/SF=29h
  1145.  
  1146. Format of NetWare "Scan Volume's User Disk Restrictions" request packet:
  1147. Offset    Size    Description    (Table 1785)
  1148.  00h    WORD    length of following data
  1149.  02h    BYTE    20h (subfunction "Scan Volume's User Disk Restrictions")
  1150.  03h    BYTE    volume number
  1151.  04h    DWORD    sequence number (set to 00000000h before first call)
  1152. SeeAlso: #1786
  1153.  
  1154. Format of NetWare "Scan Volume's User Disk Restrictions" reply packet:
  1155. Offset    Size    Description    (Table 1786)
  1156.  00h    BYTE    number of entries returned (max 12)
  1157.  01h 2N DWORDs    restriction entries [array]
  1158.         Offset    Size    Description
  1159.          00h    DWORD    object ID
  1160.          04h    DWORD    maximum usage allowed (in 4K blocks)
  1161. SeeAlso: #1785
  1162. --------N-21F216SF21-------------------------
  1163. INT 21 - Novell NetWare v3+ - ADD USER DISK SPACE RESTRICTION
  1164.     AX = F216h subfn 21h
  1165.     CX = length of request packet in bytes
  1166.     DX = length of reply buffer in bytes
  1167.     DS:SI -> request packet (see #1787)
  1168.     ES:DI -> reply buffer (ignored)
  1169. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1170. SeeAlso: AX=F216h/SF=20h,AX=F216h/SF=22h,AX=F216h/SF=24h
  1171.  
  1172. Format of NetWare "Add User Disk Space Restriction" request buffer:
  1173. Offset    Size    Description    (Table 1787)
  1174.  00h    WORD    000Ah (length of following data)
  1175.  02h    BYTE    21h (subfunction "Add User Disk Space Restriction")
  1176.  03h    BYTE    volume number
  1177.  04h    DWORD    (big-endian) object ID
  1178.  08h    DWORD    (big-endian) disk space limit in 4K blocks
  1179.         00000000h to 40000000h
  1180. --------N-21F216SF22-------------------------
  1181. INT 21 - Novell NetWare - REMOVE USER DISK SPACE RESTRICTIONS
  1182.     AX = F216h subfn 22h
  1183.     CX = length of request packet in bytes
  1184.     DX = length of reply buffer in bytes
  1185.     DS:SI -> request packet (see #1788)
  1186.     ES:DI -> reply buffer
  1187. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1188. SeeAlso: AH=F2h"Novell",AX=F216h/SF=20h,AX=F216h/SF=21h,AX=F216h/SF=23h
  1189.  
  1190. Format of NetWare "Remove User Disk Space Restrictions" request packet:
  1191. Offset    Size    Description    (Table 1788)
  1192.  00h    WORD    length of following data
  1193.  02h    BYTE    22h (subfunction "Remove User Disk Space Restrictions")
  1194.     ???
  1195. --------N-21F216SF23-------------------------
  1196. INT 21 - Novell NetWare - SCAN DIRECTORY SPACE RESTRICTIONS
  1197.     AX = F216h subfn 23h
  1198.     CX = length of request packet in bytes
  1199.     DX = length of reply buffer in bytes
  1200.     DS:SI -> request packet (see #1789)
  1201.     ES:DI -> reply buffer (see #1790)
  1202. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1203. SeeAlso: AH=F2h"Novell",AX=F216h/SF=20h,AX=F216h/SF=21h,AX=F216h/SF=22h
  1204.  
  1205. Format of NetWare "Scan Directory Space Restrictions" request packet:
  1206. Offset    Size    Description    (Table 1789)
  1207.  00h    WORD    length of following data
  1208.  02h    BYTE    23h (subfunction "Scan Directory Space Restrictions")
  1209.  03h    BYTE    directory handle
  1210. SeeAlso: #1790
  1211.  
  1212. Format of NetWare "Scan Directory Space Restrictions" reply packet:
  1213. Offset    Size    Description    (Table 1790)
  1214.  00h    BYTE    number of entries returned
  1215.  01h 10N BYTEs    restrictions [array]
  1216.         Offset    Size    Description
  1217.          00h    WORD    depth of directory from root
  1218.          02h    DWORD    maximum space allowed for files in directory
  1219.          04h    DWORD    current space used by files in directory
  1220. SeeAlso: #1789
  1221. --------N-21F216SF24-------------------------
  1222. INT 21 - Novell NetWare v3+ - SET DIRECTORY DISK SPACE RESTRICTION
  1223.     AX = F216h subfn 24h
  1224.     CX = length of request buffer in bytes
  1225.     DX = length of reply buffer in bytes
  1226.     DS:SI -> request buffer (see #1791)
  1227.     ES:DI -> reply buffer (ignored)
  1228. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1229. SeeAlso: AX=F216h/SF=21h,AX=F216h/SF=22h,AX=F216h/SF=23h,AX=F216h/SF=25h
  1230.  
  1231. Format of NetWare "Set Directory Disk Space Restriction" request buffer:
  1232. Offset    Size    Description    (Table 1791)
  1233.  00h    WORD    0006h (length of following data)
  1234.  02h    BYTE    24h (subfunction "Set Directory Disk Space Restriction")
  1235.  03h    BYTE    directory handle
  1236.  04h    DWORD    (big-endian) disk space limit in 4K blocks
  1237.         00000000h to remove restriction, negative to set to 0 blocks
  1238. --------N-21F216SF25-------------------------
  1239. INT 21 - Novell NetWare - SET DIRECTORY/FILE INFORMATION
  1240.     AX = F216h subfn 25h
  1241.     CX = length of request packet in bytes
  1242.     DX = 0000h (no reply packet)
  1243.     DS:SI -> request packet (see #1792)
  1244.     ES:DI ignored
  1245. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1246. SeeAlso: AH=F2h"Novell",AX=F216h/SF=02h
  1247.  
  1248. Format of NetWare "Set Directory/File Information" request packet:
  1249. Offset    Size    Description    (Table 1792)
  1250.  00h    WORD    length of following data
  1251.  02h    BYTE    25h (subfunction "Set Directory/File Information")
  1252.  03h    BYTE    directory handle
  1253.  04h    BYTE    search attributes
  1254.  05h    DWORD    sequence number
  1255.  09h    DWORD    change bits
  1256.  0Dh    DWORD    directory number
  1257.  11h    DWORD    attributes
  1258.  15h    BYTE    unique ID
  1259.  16h    BYTE    flags
  1260.  17h    BYTE    name space (see #2042)
  1261.  18h    BYTE    length of directory/file name
  1262.  19h 12 BYTEs    directory/file name
  1263.  25h    DWORD    creation date and time
  1264.  29h    DWORD    (big-endian) owner ID
  1265.  2Dh    DWORD    last-backup date and time
  1266.  31h    DWORD    (big-endian) last-backup ID
  1267.  35h    DWORD    last-modification date and time
  1268.  39h    DWORD    (big-endian) last-modification ID
  1269.  3Dh    DWORD    file size
  1270.  41h    DWORD    data fork first FAT
  1271.  45h    DWORD    next trustee entry
  1272.  49h 36 BYTEs    reserved
  1273.  6Dh    WORD    inherited rights mask
  1274.  6Fh    WORD    last-access date
  1275.  71h 20 BYTEs    reserved
  1276.  85h    DWORD    primary entry
  1277.  89h    DWORD    name list
  1278. --------N-21F216SF26-------------------------
  1279. INT 21 - Novell NetWare v3+ - SCAN FILE OR DIRECTORY FOR EXTENDED TRUSTEES
  1280.     AX = F216h subfn 26h
  1281.     CX = length of request packet in bytes
  1282.     DX = length of reply buffer in bytes
  1283.     DS:SI -> request packet (see #1793)
  1284.     ES:DI -> reply buffer (see #1794)
  1285. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1286. Desc:    get up to 20 extended trustee entries per call for a file or directory
  1287.  
  1288. Format of NetWare "Scan File/Directory for Extended Trustees" request buffer:
  1289. Offset    Size    Description    (Table 1793)
  1290.  00h    WORD    length of following data
  1291.  02h    BYTE    26h (subfunc "Scan File or Directory For Extended Trustees")
  1292.  03h    BYTE    directory handle
  1293.  04h    BYTE    sequence number
  1294.         00h for first call, increment by number of returned entries
  1295.  05h    BYTE    length of path
  1296.  06h  N BYTEs    pathname
  1297. SeeAlso: #1793
  1298.  
  1299. Format of NetWare "Scan File/Directory for Extended Trustees" reply buffer:
  1300. Offset    Size    Description    (Table 1794)
  1301.  00h    BYTE    number of entries returned (max 20)
  1302.  01h 20 DWORDs    (big-endian) list of object IDs
  1303.  51h 20 WORDs    list of associated trustee rights
  1304. SeeAlso: #1794
  1305. --------N-21F216SF27-------------------------
  1306. INT 21 - Novell NetWare v3+ - ADD EXTENDED TRUSTEE TO DIRECTORY OR FILE
  1307.     AX = F216h subfn 27h
  1308.     CX = length of request packet in bytes
  1309.     DX = 0000h (no reply packet)
  1310.     DS:SI -> request packet (see #1795)
  1311.     ES:DI ignored
  1312. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1313.  
  1314. Format of NetWare "Add Extended Trustee to Directory or File" request buffer:
  1315. Offset    Size    Description    (Table 1795)
  1316.  00h    WORD    length of following data
  1317.  02h    BYTE    27h (subfunction "Add Extended Trustee to Directory or File")
  1318.  03h    BYTE    directory handle
  1319.  04h    DWORD    (big-endian) object ID
  1320.  08h    WORD    trustee rights (see #1796)
  1321.  0Ah    BYTE    path length
  1322.  0Bh  N BYTEs    path name
  1323.  
  1324. Bitfields for NetWare trustee rights:
  1325. Bit(s)    Description    (Table 1796)
  1326.  0    read
  1327.  1    write
  1328.  3    create
  1329.  4    delete
  1330.  5    access
  1331.  6    file
  1332.  7    modify
  1333.  8    supervisor
  1334. --------N-21F216SF28-------------------------
  1335. INT 21 - Novell NetWare - SCAN DIRECTORY DISK SPACE
  1336.     AX = F216h subfn 28h
  1337.     CX = length of request packet in bytes
  1338.     DX = length of reply buffer in bytes
  1339.     DS:SI -> request packet (see #1797)
  1340.     ES:DI -> reply buffer (see #1798)
  1341. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1342. SeeAlso: AH=F2h"Novell",AX=F216h/SF=02h,AX=F216h/SF=20h
  1343.  
  1344. Format of NetWare "Scan Directory Disk Space" request packet:
  1345. Offset    Size    Description    (Table 1797)
  1346.  00h    WORD    length of following data
  1347.  02h    BYTE    28h (subfunction "Scan Directory Disk Space")
  1348.  03h    BYTE    directory handle
  1349.  04h    BYTE    search attributes
  1350.  05h    DWORD    sequence number (set to FFFFFFFFh before first call)
  1351.  09h    BYTE    length of filespec
  1352.  0Ah  N BYTEs    search filespec
  1353. SeeAlso: #1798
  1354.  
  1355. Format of NetWare "Scan Directory Disk Space" reply packet:
  1356. Offset    Size    Description    (Table 1798)
  1357.  00h    DWORD    next sequence number
  1358.  04h    DWORD    (big-endian) subdirectory number
  1359.  08h    DWORD    (big-endian) attributes
  1360.  0Ch    BYTE    unique ID
  1361.  0Dh    BYTE    flags
  1362.  0Eh    BYTE    name space (see #2042)
  1363.  0Fh    BYTE    length of name
  1364.  10h 12 BYTEs    name
  1365.  1Ch    DWORD    creation date and time
  1366.  20h    DWORD    owner ID
  1367.  24h    DWORD    date and time last backed up
  1368.  28h    DWORD    last-backup ID
  1369.  2Ch    DWORD    date and time last modified
  1370.  30h    DWORD    last-modification ID
  1371.  34h    DWORD    data fork size
  1372.  38h    DWORD    data fork first FAT
  1373.  3Ch    DWORD    next trustee entry
  1374.  40h 36 BYTEs    reserved
  1375.  64h    WORD    inherited rights mask
  1376.  66h    WORD    last-access date
  1377.  68h    DWORD    deleted file date and time
  1378.  6Ch    DWORD    date and time file was deleted
  1379.  70h    DWORD    deleted ID
  1380.  74h  8 BYTEs    undefined
  1381.  7Ch    DWORD    primary entry
  1382.  80h    DWORD    name list
  1383.  84h    DWORD    other file fork size
  1384. SeeAlso: #1797
  1385. --------N-21F216SF29-------------------------
  1386. INT 21 - Novell NetWare v3+ - GET OBJECT DISK USAGE AND RESTRICTIONS
  1387.     AX = F216h subfn 29h
  1388.     CX = length of request packet in bytes
  1389.     DX = length of reply buffer in bytes
  1390.     DS:SI -> request packet (see #1799)
  1391.     ES:DI -> reply buffer (see #1800)
  1392. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1393.     reply buffer filled
  1394. Note:    this function returns successfully, showing no restriction, if an
  1395.       invalid object ID is specified
  1396. SeeAlso: AX=F216h/SF=24h,AX=F216h/SF=33h
  1397.  
  1398. Format of NetWare "Get Object Disk Restrictions" request buffer:
  1399. Offset    Size    Description    (Table 1799)
  1400.  00h    WORD    0006h (length of following data)
  1401.  02h    BYTE    21h (subfunction "Get Object Disk Restrictions")
  1402.  03h    BYTE    volume number
  1403.  04h    DWORD    (big-endian) object ID
  1404. SeeAlso: #1800
  1405.  
  1406. Format of NetWare "Get Object Disk Restrictions" reply buffer:
  1407. Offset    Size    Description    (Table 1800)
  1408.  00h    DWORD    disk space limit
  1409.  04h    DWORD    disk space currently in use by object
  1410. SeeAlso: #1799
  1411. --------N-21F216SF2A-------------------------
  1412. INT 21 - Novell NetWare - GET EFFECTIVE RIGHTS
  1413.     AX = F216h subfn 2Ah
  1414.     CX = length of request packet in bytes
  1415.     DX = length of reply buffer in bytes
  1416.     DS:SI -> request packet (see #1801)
  1417.     ES:DI -> reply buffer (see #1802)
  1418. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1419. SeeAlso: AH=F2h"Novell",AX=F216h/SF=32h
  1420.  
  1421. Format of NetWare "Get Effective Rights" request packet:
  1422. Offset    Size    Description    (Table 1801)
  1423.  00h    WORD    length of following data
  1424.  02h    BYTE    2Ah (subfunction "Get Effective Rights")
  1425.     ???
  1426. --------N-21F216SF2B-------------------------
  1427. INT 21 - Novell NetWare - REMOVE EXTENDED TRUSTEE FROM DIR OR FILE
  1428.     AX = F216h subfn 2Bh
  1429.     CX = length of request packet in bytes
  1430.     DX = 0000h (no reply packet)
  1431.     DS:SI -> request packet (see #1772,#1802)
  1432.     ES:DI ignored
  1433. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1434. SeeAlso: AH=F2h"Novell",AX=F216h/SF=26h,AX=F216h/SF=27h
  1435.  
  1436. Format of NetWare "Remove Extended Trustee From Dir Or File" request packet:
  1437. Offset    Size    Description    (Table 1802)
  1438.  00h    WORD    length of following data
  1439.  02h    BYTE    2Bh (subfunction "Remove Extended Trustee From Dir Or File")
  1440.  03h    BYTE    directory handle
  1441.  04h    DWORD    trustee's object ID
  1442.  08h    BYTE    unused
  1443.  09h    BYTE    length of pathname
  1444.  0Ah  N BYTEs    directory path in form VOLUME:DIRECTORY/.../DIRECTORY
  1445. --------N-21F216SF2C-------------------------
  1446. INT 21 - Novell NetWare - GET VOLUME USAGE
  1447.     AX = F216h subfn 2Ch
  1448.     CX = length of request packet in bytes
  1449.     DX = length of reply buffer in bytes
  1450.     DS:SI -> request packet (see #1803)
  1451.     ES:DI -> reply buffer (see #1804)
  1452. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1453. SeeAlso: AH=F2h"Novell",AX=F216h/SF=20h,AX=F216h/SF=29h
  1454.  
  1455. Format of NetWare "Get Volume Usage" request packet:
  1456. Offset    Size    Description    (Table 1803)
  1457.  00h    WORD    length of following data
  1458.  02h    BYTE    2Ch (subfunction "Get Volume Usage")
  1459.     ???
  1460. --------N-21F216SF2D-------------------------
  1461. INT 21 - Novell NetWare - GET DIRECTORY INFORMATION
  1462.     AX = F216h subfn 2Dh
  1463.     CX = length of request packet in bytes
  1464.     DX = length of reply buffer in bytes
  1465.     DS:SI -> request packet (see #1804)
  1466.     ES:DI -> reply buffer (see #1805)
  1467. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1468. SeeAlso: AH=F2h"Novell",AX=F216h/SF=2Ch,AX=F216h/SF=2Eh
  1469.  
  1470. Format of NetWare "Get Directory Information" request packet:
  1471. Offset    Size    Description    (Table 1804)
  1472.  00h    WORD    length of following data
  1473.  02h    BYTE    2Dh (subfunction "Get Directory Information")
  1474.  03h    BYTE    directory handle
  1475. SeeAlso: #1805
  1476.  
  1477. Format of NetWare "Get Directory Information" reply packet:
  1478. Offset    Size    Description    (Table 1805)
  1479.  00h    DWORD    total blocks
  1480.  04h    DWORD    available blocks
  1481.  08h    DWORD    total number of directory entries
  1482.  0Ch    DWORD    number of available directory entries
  1483.  10h  4 BYTEs    reserved
  1484.  14h    BYTE    sectors per block
  1485.  15h    BYTE    length of volume name
  1486.  16h  N BYTEs    volume name
  1487. SeeAlso: #1804
  1488. --------N-21F216SF2E-------------------------
  1489. INT 21 - Novell NetWare - RENAME OR MOVE
  1490.     AX = F216h subfn 2Eh
  1491.     CX = length of request packet in bytes
  1492.     DX = 0000h (no reply packet)
  1493.     DS:SI -> request packet (see #1806)
  1494.     ES:DI ignored
  1495. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1496. SeeAlso: AH=F2h"Novell",AX=F217h/SF=34h,AX=F223h/SF=07h,AX=F244h
  1497.  
  1498. Format of NetWare "Rename Or Move" request packet:
  1499. Offset    Size    Description    (Table 1806)
  1500.  00h    WORD    length of following data
  1501.  02h    BYTE    2Eh (subfunction "Rename Or Move")
  1502.  03h    BYTE    source directory handle
  1503.  04h    BYTE    search attributes
  1504.  05h    BYTE    source path component count
  1505.  06h  N BYTEs    source path
  1506.     BYTE    destination directory handle
  1507.     BYTE    destination path component count
  1508.       N BYTEs    destination path
  1509. --------N-21F216SF2F-------------------------
  1510. INT 21 - Novell NetWare - GET NAME SPACE INFORMATION
  1511.     AX = F216h subfn 2Fh
  1512.     CX = length of request packet in bytes
  1513.     DX = length of reply buffer in bytes
  1514.     DS:SI -> request packet (see #1807)
  1515.     ES:DI -> reply buffer (see #1808)
  1516. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1517. SeeAlso: AH=F2h"Novell",AX=F216h/SF=30h,AX=F257h/SF=18h
  1518.  
  1519. Format of NetWare "Get Name Space Information" request packet:
  1520. Offset    Size    Description    (Table 1807)
  1521.  00h    WORD    length of following data
  1522.  02h    BYTE    2Fh (subfunction "Get Name Space Information")
  1523.  03h    BYTE    volume number
  1524. SeeAlso: #1808
  1525.  
  1526. Format of NetWare "Get Name Space Information" request packet:
  1527. Offset    Size    Description    (Table 1808)
  1528.  00h    BYTE    length of namespace name
  1529.  01h  N BYTEs    name of namespace
  1530.     BYTE    number of data streams
  1531.     var    data stream information [one entry per data stream]
  1532.         Offset    Size    Description
  1533.          00h    BYTE    associated name space
  1534.          01h    BYTE    length of data stream name
  1535.          02h  N BYTEs    data stream name
  1536.     BYTE    number of loaded name spaces
  1537.     BYTE    bitmap of loaded name spaces
  1538.       N BYTEs    list of name spaces being used
  1539.     BYTE    index number
  1540. SeeAlso: #1807
  1541. --------N-21F216SF30-------------------------
  1542. INT 21 - Novell NetWare - GET NAME SPACE DIRECTORY ENTRY
  1543.     AX = F216h subfn 30h
  1544.     CX = length of request packet in bytes
  1545.     DX = length of reply buffer in bytes
  1546.     DS:SI -> request packet (see #1809)
  1547.     ES:DI -> reply buffer (see #1810)
  1548. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1549. SeeAlso: AH=F2h"Novell",AX=F216h/SF=2Fh
  1550.  
  1551. Format of NetWare "Get Name Space Directory Entry" request packet:
  1552. Offset    Size    Description    (Table 1809)
  1553.  00h    WORD    length of following data
  1554.  02h    BYTE    30h (subfunction "Get Name Space Directory Entry")
  1555.  03h    BYTE    volume number
  1556.  04h    DWORD    sequence number (set to 00000000h before first call)
  1557.  08h    BYTE    name space (see #2042)
  1558. SeeAlso: #1810
  1559.  
  1560. Format of NetWare "Get Name Space Directory Entry" request packet:
  1561. Offset    Size    Description    (Table 1810)
  1562.  00h    DWORD    next sequence number
  1563.  04h    DWORD    subdirectory
  1564.  08h    DWORD    attributes
  1565.  0Ch    BYTE    unique ID
  1566.  0Dh    BYTE    flags
  1567.  0Eh    BYTE    name space (see #2042)
  1568.  0Fh    BYTE    length of name
  1569.  10h 12 BYTEs    filename
  1570.  1Ch    DWORD    creation date and time
  1571.  20h    DWORD    (big-endian) owner ID
  1572.  24h    DWORD    last-backup date and time
  1573.  28h    DWORD    (big-endian) last-backup ID
  1574.  2Ch    DWORD    last-modification date and time
  1575. ---DOS file---
  1576.  30h    DWORD    (big-endian) last-modification ID
  1577.  34h    DWORD    file size
  1578.  38h 44 BYTEs    reserved
  1579.  64h    WORD    inherited rights mask
  1580.  66h    WORD    last-access date
  1581.  68h 28 BYTEs    reserved
  1582. ---DOS subdirectory---
  1583.  30h    DWORD    next trustee entry
  1584.  34h 48 BYTEs    reserved
  1585.  64h    WORD    maximum space
  1586.  66h    WORD    inherited rights mask
  1587.  68h 26 BYTEs    reserved
  1588. ---Macintosh subdirectory---
  1589.  10h 32 BYTEs    Mac filename
  1590.  30h    DWORD    resource fork
  1591.  34h    DWORD    resource fork size
  1592.  38h 32 BYTEs    Finder information
  1593.  58h  6 BYTEs    ProDOS information
  1594.  5Eh 38 BYTEs    reserved
  1595. SeeAlso: #1809
  1596. --------N-21F216SF31-------------------------
  1597. INT 21 - Novell NetWare - OPEN DATA STREAM
  1598.     AX = F216h subfn 31h
  1599.     CX = length of request packet in bytes
  1600.     DX = length of reply buffer in bytes
  1601.     DS:SI -> request packet (see #1811)
  1602.     ES:DI -> reply buffer (see #1812)
  1603. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1604. SeeAlso: AH=F2h"Novell",AX=F216h/SF=30h
  1605.  
  1606. Format of NetWare "Open Data Stream" request packet:
  1607. Offset    Size    Description    (Table 1811)
  1608.  00h    WORD    length of following data
  1609.  02h    BYTE    31h (subfunction "Open Data Stream")
  1610.  03h    BYTE    data stream
  1611.  04h    BYTE    directory handle
  1612.  05h    BYTE    file attributes
  1613.  06h    BYTE    open rights
  1614.  07h    BYTE    length of filename
  1615.  08h  N BYTEs    filename (8.3)
  1616. SeeAlso: #1812
  1617.  
  1618. Format of NetWare "Open Data Stream" reply packet:
  1619. Offset    Size    Description    (Table 1812)
  1620.  00h    DWORD    file handle
  1621. SeeAlso: #1811
  1622. --------N-21F216SF32-------------------------
  1623. INT 21 - Novell NetWare v2.2+ - GET OBJECT EFFECTIVE RIGHTS
  1624.     AX = F216h subfn 32h
  1625.     CX = length of request packet in bytes
  1626.     DX = length of reply buffer in bytes
  1627.     DS:SI -> request packet (see #1813)
  1628.     ES:DI -> reply buffer (see #1814)
  1629. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1630.     reply buffer filled
  1631. SeeAlso: AX=F216h/SF=29h
  1632.  
  1633. Format of NetWare "Get Object Effective Rights" request buffer:
  1634. Offset    Size    Description    (Table 1813)
  1635.  00h    WORD    length of following data
  1636.  02h    BYTE    32h (subfunction "Get Object Effective Rights")
  1637.  03h    DWORD    object ID
  1638.  07h    BYTE    directory handle
  1639.  08h    var    counted path string
  1640. SeeAlso: #1814
  1641.  
  1642. Format of NetWare "Get Object Effective Rights" reply buffer:
  1643. Offset    Size    Description    (Table 1814)
  1644.  00h    WORD    object's effective rights
  1645.  02h  6 BYTEs    reserved
  1646. SeeAlso: #1813
  1647. --------N-21F216SF33-------------------------
  1648. INT 21 - Novell NetWare v2.2+ - GET EXTENDED VOLUME INFORMATION
  1649.     AX = F216h subfn 33h
  1650.     CX = length of request packet in bytes
  1651.     DX = length of reply buffer in bytes
  1652.     DS:SI -> request packet (see #1815)
  1653.     ES:DI -> reply buffer (see #1816)
  1654. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1655.     reply buffer filled
  1656. SeeAlso: AX=F216h/SF=29h
  1657.  
  1658. Format of NetWare "Get Extended Volume Information" request buffer:
  1659. Offset    Size    Description    (Table 1815)
  1660.  00h    WORD    length of following data
  1661.  02h    BYTE    33h (subfunction "Get Extended Volume Information")
  1662. ---v2.2---
  1663.  03h    BYTE    volume ID
  1664. ---v4.x---
  1665.  03h    DWORD    volume number
  1666. SeeAlso: #1816
  1667.  
  1668. Format of NetWare "Get Extended Volume Information" reply buffer:
  1669. Offset    Size    Description    (Table 1816)
  1670.  00h    WORD    length of returned data
  1671.  02h    DWORD    volume type
  1672.  06h    DWORD    status flag bits
  1673.         bit 0: suballocation
  1674.         bit 1: compressoin
  1675.         bit 2: migration
  1676.         bit 3: auditing
  1677.  0Ah    DWORD    sector size
  1678.  0Eh    DWORD    sectors per cluster
  1679.  12h    DWORD    total clusters in volume
  1680.  16h    DWORD    free clusters
  1681.  1Ah    DWORD    freeable suballocated clusters
  1682.  1Eh    DWORD    freeable in-limbo sectors
  1683.  22h    DWORD    non-freeable in-limbo sectors
  1684.  26h    DWORD    non-freeable available suballocated sectors
  1685.  2Ah    DWORD    unuable suballocated sectors
  1686.  2Eh    DWORD    total suballocated clusters
  1687.  32h    DWORD    number of data streams
  1688.  36h    DWORD    number of in-limbo data streams
  1689.  3Ah    DWORD    age of oldest deleted file in clock ticks
  1690.  3Eh    DWORD    number of compressed data streams
  1691.  42h    DWORD    number of compressed in-limbo data streams
  1692.  46h    DWORD    number of uncompressable data streams
  1693.  4Ah    DWORD    number of precompressed sectors
  1694.  4Eh    DWORD    number of compressed sectors
  1695.  52h    DWORD    number of migrated files
  1696.  56h    DWORD    number of migrated sectors
  1697.  5Ah    DWORD    number of clusters used by FAT
  1698.  5Eh    DWORD    number of clusters used by directories
  1699.  62h    DWORD    number of clusters used by extended directories
  1700.  66h    DWORD    total number of directory entries
  1701.  6Ah    DWORD    number of unused directory entries
  1702.  6Eh    DWORD    total number of extended directory extants
  1703.  72h    DWORD    number of unused extended directory extants
  1704.  76h    DWORD    number of extended attributes defined (see AX=F256h/SF=04h)
  1705.  7Ah    DWORD    number of extended-attribute extants used
  1706.  7Eh    DWORD    object ID for Directory Services
  1707.  82h    DWORD    date and time volume last modified
  1708.  86h    var    counted volume name string
  1709. SeeAlso: #1815
  1710. --------N-21F217SF01-------------------------
  1711. INT 21 - Novell NetWare - CHANGE USER PASSWORD (OLD)
  1712.     AX = F217h subfn 01h
  1713.     CX = length of request packet in bytes
  1714.     DX = 0000h (no reply packet)
  1715.     DS:SI -> request packet (see #1544 at AH=E3h/SF=01h)
  1716.     ES:DI ignored
  1717. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1718. Note:    this function requires an object of type USER, unlike the newer
  1719.       password changing function AX=F217h/SF=40h
  1720. SeeAlso: AH=F2h"Novell",AH=E3h/SF=01h,AX=F217h/SF=02h,AX=F217h/SF=40h
  1721. --------N-21F217SF02-------------------------
  1722. INT 21 - Novell NetWare - GET USER CONNECTION LIST (OLD)
  1723.     AX = F217h subfn 02h
  1724.     CX = length of request packet in bytes
  1725.     DX = length of reply buffer in bytes
  1726.     DS:SI -> request packet (see #1545 at AH=E3h/SF=02h)
  1727.     ES:DI -> reply buffer (see #1817)
  1728. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1729. SeeAlso: AH=F2h"Novell",AH=E3h/SF=02h,AX=F217h/SF=01h,AX=F217h/SF=0Ch
  1730.  
  1731. Format of NetWare "Get User Connection List (old)" reply packet:
  1732. Offset    Size    Description    (Table 1817)
  1733.  00h    BYTE    length of connection list
  1734.  01h    BYTE    number of bytes in connection list
  1735.  02h  N BYTEs    list of connection numbers in use by user
  1736. SeeAlso: #1545
  1737. --------N-21F217SF0C-------------------------
  1738. INT 21 - Novell NetWare - VERIFY SERIALIZATION
  1739.     AX = F217h subfn 0Ch
  1740.     CX = length of request packet in bytes
  1741.     DX = length of reply buffer in bytes
  1742.     DS:SI -> request packet (see #1549 at AH=E3h/SF=0Ch)
  1743.     ES:DI -> reply buffer (see #1818)
  1744. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1745. SeeAlso: AH=F2h"Novell",AH=E3h/SF=0Ch,AX=F217h/SF=12h
  1746.  
  1747. Format of NetWare "Verify Serialization" reply packet:
  1748. Offset    Size    Description    (Table 1818)
  1749.  00h    WORD    server application number
  1750. SeeAlso: #1549
  1751. --------N-21F217SF0E-------------------------
  1752. INT 21 - Novell NetWare - GET DISK UTILIZATION
  1753.     AX = F217h subfn 0Eh
  1754.     CX = length of request packet in bytes
  1755.     DX = length of reply buffer in bytes
  1756.     DS:SI -> request packet (see #1553 at AH=E3h/SF=0Eh)
  1757.     ES:DI -> reply buffer (see #1819)
  1758. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1759. SeeAlso: AH=F2h"Novell",AH=E3h/SF=0Eh,AX=F217h/SF=D6h
  1760.  
  1761. Format of NetWare "Get Disk Utilization" reply packet:
  1762. Offset    Size    Description    (Table 1819)
  1763.  00h    BYTE    volume number (00h-1Fh)
  1764.  01h    DWORD    (big-endian) object ID
  1765.  05h    WORD    (big-endian) directories used by object
  1766.  07h    WORD    (big-endian) files created by object
  1767.  09h    WORD    (big-endian) disk blocks used by object-created files
  1768. SeeAlso: #1553 at AH=E3h/SF=0Eh
  1769. --------N-21F217SF0F-------------------------
  1770. INT 21 - Novell NetWare - SCAN FILE INFORMATION
  1771.     AX = F217h subfn 0Fh
  1772.     CX = length of request packet in bytes
  1773.     DX = length of reply buffer in bytes
  1774.     DS:SI -> request packet (see #1556 at AH=E3h/SF=0Fh)
  1775.     ES:DI -> reply buffer (see #1820)
  1776. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1777. SeeAlso: AH=F2h"Novell",AH=E3h/SF=0Fh,AX=F217h/SF=10h
  1778.  
  1779. Format of NetWare "Scan File Information" reply packet:
  1780. Offset    Size    Description    (Table 1820)
  1781.  00h    WORD    next sequence number (place in request buffer for next call)
  1782.  02h 14 BYTEs    ASCIZ filename
  1783.  10h    BYTE    file attributes (see #1073 at AX=4301h)
  1784.  11h    BYTE    extended file attributes (see #1457 at AH=B6h)
  1785.  12h    DWORD    (big-endian) file size in bytes
  1786.  16h    WORD    (big-endian) file's creation date (see #1318 at AX=5700h)
  1787.  18h    WORD    (big-endian) date of last access (see #1317 at AX=5700h)
  1788.  1Ah    DWORD    (big-endian) date and time of last update (see #1499)
  1789.  1Eh    DWORD    (big-endian) object ID of owner
  1790.  22h    DWORD    (big-endian) date and time last archived (see #1499)
  1791.  26h 55 BYTEs    reserved
  1792. SeeAlso: #1556 at AH=E3h/SF=0Fh
  1793. --------N-21F217SF10-------------------------
  1794. INT 21 - Novell NetWare - SET FILE INFORMATION
  1795.     AX = F217h subfn 10h
  1796.     CX = length of request packet in bytes
  1797.     DX = 0000h (no reply packet)
  1798.     DS:SI -> request packet    (see #1558 at AH=E3h/SF=10h)
  1799.     ES:DI ignored
  1800. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1801. SeeAlso: AH=F2h"Novell",AH=E3h/SF=10h,AX=F217h/SF=0Fh
  1802. --------N-21F217SF11-------------------------
  1803. INT 21 - Novell NetWare - GET FILE SERVER INFORMATION
  1804.     AX = F217h subfn 11h
  1805.     CX = length of request packet in bytes
  1806.     DX = length of reply buffer in bytes
  1807.     DS:SI -> request packet (see #1560 at AH=E3h/SF=11h)
  1808.     ES:DI -> reply buffer (see #1821)
  1809. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1810. SeeAlso: AH=F2h"Novell",AH=E3h/SF=11h,AX=F217h/SF=F1h
  1811.  
  1812. Format of NetWare "Get File Server Information" reply packet:
  1813. Offset    Size    Description    (Table 1821)
  1814.  00h 48 BYTEs    server's name
  1815.  30h    BYTE    NetWare version
  1816.  31h    BYTE    NetWare subversion (0-99)
  1817.  32h    WORD    (big-endian) number of connections supported
  1818.         NetWare 4.01 reportedly returns maximum simulataneously-used
  1819.           connections
  1820.  34h    WORD    (big-endian) number of connections in use
  1821.  36h    WORD    (big-endian) maximum connected volumes
  1822. ---Advanced NetWare 2.1+ ---
  1823.  38h    BYTE    operating system revision number
  1824.  39h    BYTE    fault tolerance (SFT) level
  1825.  3Ah    BYTE    TTS level
  1826.  3Bh    WORD    (big-endian) maximum simultaneously-used connections
  1827.         NetWare 4.01 reportedly returns number of connections in use
  1828.  3Dh    BYTE    accounting version
  1829.  3Eh    BYTE    VAP version
  1830.  3Fh    BYTE    queueing version
  1831.  40h    BYTE    print server version
  1832.  41h    BYTE    virtual console version
  1833.  42h    BYTE    security restrictions level
  1834.  43h    BYTE    internetwork bridge version
  1835.  44h 60 BYTEs    reserved
  1836. SeeAlso: #1560
  1837. --------N-21F217SF12-------------------------
  1838. INT 21 - Novell NetWare - GET NETWORK SERIAL NUMBER
  1839.     AX = F217h subfn 12h
  1840.     CX = length of request packet in bytes
  1841.     DX = length of reply buffer in bytes
  1842.     DS:SI -> request packet (see #1562 at AH=E3h/SF=12h)
  1843.     ES:DI -> reply buffer (see #1822)
  1844. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1845. SeeAlso: AH=F2h"Novell",AH=E3h/SF=12h,AX=F217h/SF=0Ch
  1846.  
  1847. Format of NetWare "Get Network Serial Number" reply packet:
  1848. Offset    Size    Description    (Table 1822)
  1849.  00h   4 BYTEs    (big-endian) NetWare server serial number
  1850.  04h   2 BYTEs    (big-endian) NetWare application serial number
  1851. SeeAlso: #1562 at AH=E3h/SF=12h
  1852. --------N-21F217SF13-------------------------
  1853. INT 21 - Novell NetWare - GET INTERNET ADDRESS (OLD)
  1854.     AX = F217h subfn 13h
  1855.     CX = length of request packet in bytes
  1856.     DX = length of reply buffer in bytes
  1857.     DS:SI -> request packet (see #1564 at AH=E3h/SF=13h)
  1858.     ES:DI -> reply buffer (see #1823)
  1859. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1860. SeeAlso: AH=F2h"Novell",AH=E3h/SF=13h,AX=F217h/SF=1Ah
  1861.  
  1862. Format of NetWare "Get Internet Address (old)" reply packet:
  1863. Offset    Size    Description    (Table 1823)
  1864.  00h  4 BYTEs    network number
  1865.  04h  6 BYTEs    physical node address
  1866.  0Ah  2 BYTEs    socket number
  1867. SeeAlso: #1564 at AH=E3h/SF=13h,#1829
  1868. --------N-21F217SF14-------------------------
  1869. INT 21 - Novell NetWare - LOGIN OBJECT
  1870.     AX = F217h subfn 14h
  1871.     CX = length of request packet in bytes
  1872.     DX = 0000h (no reply packet)
  1873.     DS:SI -> request packet    (see #1566 at AH=E3h/SF=14h)
  1874.     ES:DI ignored
  1875. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1876. SeeAlso: AH=F2h"Novell",AH=E3h/SF=14h,AX=F216h/SF=18h,AX=F217h/SF=CCh
  1877. SeeAlso: AX=F258h/SF=03h,AX=F268h/SF=3Dh
  1878. --------N-21F217SF15-------------------------
  1879. INT 21 - Novell NetWare - GET OBJECT CONNECTION LIST (OLD)
  1880.     AX = F217h subfn 15h
  1881.     CX = length of request packet in bytes
  1882.     DX = length of reply buffer in bytes
  1883.     DS:SI -> request packet (see #1568 at AH=E3h/SF=15h)
  1884.     ES:DI -> reply buffer (see #1824)
  1885. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1886. SeeAlso: AH=F2h"Novell",AH=E3h/SF=15h,AX=F217h/SF=1Bh
  1887.  
  1888. Format of NetWare "Get Object Connection List (old)" reply packet:
  1889. Offset    Size    Description    (Table 1824)
  1890.  00h    BYTE    number of connections
  1891.  01h  N BYTEs    connection list
  1892. SeeAlso: #1568
  1893. --------N-21F217SF16-------------------------
  1894. INT 21 - Novell NetWare - GET CONNECTION INFORMATION (OLD)
  1895.     AX = F217h subfn 16h
  1896.     CX = length of request packet in bytes
  1897.     DX = length of reply buffer in bytes
  1898.     DS:SI -> request packet (see #1825)
  1899.     ES:DI -> reply buffer (see #1826)
  1900. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1901.     reply buffer filled
  1902. SeeAlso: AH=F2h"Novell",AX=F217h/SF=1Ch,AX=F217h/SF=1Fh
  1903.  
  1904. Format of NetWare "Get Connection Information (old)" request packet:
  1905. Offset    Size    Description    (Table 1825)
  1906.  00h    WORD    0002h (length of following data)
  1907.  02h    BYTE    16h (subfunction "Get Connection Information (old)")
  1908.  03h    BYTE    target connection number
  1909. Note:    connection numbers greater than the maximum supported by the server
  1910.       can cause ABENDs
  1911. SeeAlso: #1826
  1912.  
  1913. Format of NetWare "Get Connection Information (old)" reply packet:
  1914. Offset    Size    Description    (Table 1826)
  1915.  00h    DWORD    (big-endian) unique user ID, 00000000h if no one logged in
  1916.  04h    WORD    (big-endian) user type
  1917.  06h 48 BYTEs    user name
  1918.  36h  7 BYTEs    login time (see #1742)
  1919.  3Dh    BYTE    reserved
  1920. SeeAlso: #1825
  1921. --------N-21F217SF17-------------------------
  1922. INT 21 - Novell NetWare - GET ENCRYPTION KEY
  1923.     AX = F217h subfn 17h
  1924.     CX = length of request packet in bytes
  1925.     DX = length of reply buffer in bytes
  1926.     DS:SI -> request packet (see #1827)
  1927.     ES:DI -> reply buffer
  1928. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1929. SeeAlso: AH=F2h"Novell",AX=F217h/SF=18h,AX=F217h/SF=4Ah,AX=F217h/SF=4Bh
  1930.  
  1931. Format of NetWare "Get Encryption Key" request packet:
  1932. Offset    Size    Description    (Table 1827)
  1933.  00h    WORD    length of following data
  1934.  02h    BYTE    17h (subfunction "Get Encryption Key")
  1935.     ???
  1936. --------N-21F217SF18-------------------------
  1937. INT 21 - Novell NetWare - LOGIN OBJECT ENCRYPTED
  1938.     AX = F217h subfn 18h
  1939.     CX = length of request packet in bytes
  1940.     DX = length of reply buffer in bytes
  1941.     DS:SI -> request packet (see #1828)
  1942.     ES:DI -> reply buffer
  1943. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1944. SeeAlso: AH=F2h"Novell",AX=F217h/SF=14h,AX=F217h/SF=17h
  1945.  
  1946. Format of NetWare "Login Object Encrypted" request packet:
  1947. Offset    Size    Description    (Table 1828)
  1948.  00h    WORD    length of following data
  1949.  02h    BYTE    18h (subfunction "Login Object Encrypted")
  1950.     ???
  1951. --------N-21F217SF1A-------------------------
  1952. INT 21 - Novell NetWare - GET INTERNET ADDRESS
  1953.     AX = F217h subfn 1Ah
  1954.     CX = length of request packet in bytes
  1955.     DX = length of reply buffer in bytes
  1956.     DS:SI -> request packet (see #1829)
  1957.     ES:DI -> reply buffer (see #1830)
  1958. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1959. SeeAlso: AH=F2h"Novell",AX=F217h/SF=13h
  1960.  
  1961. Format of NetWare "Get Internet Address" request packet:
  1962. Offset    Size    Description    (Table 1829)
  1963.  00h    WORD    length of following data
  1964.  02h    BYTE    1Ah (subfunction "Get Internet Address")
  1965.  03h    DWORD    target connection ID
  1966. SeeAlso: #1830
  1967.  
  1968. Format of NetWare "Get Internet Address" reply packet:
  1969. Offset    Size    Description    (Table 1830)
  1970.  00h  4 BYTEs    network number
  1971.  04h  6 BYTEs    physical node address
  1972.  0Ah  2 BYTEs    socket number
  1973.  0Ch    BYTE    connection type
  1974.         00h not in use
  1975.         02h NCP
  1976.         03h AFP
  1977. SeeAlso: #1829
  1978. --------N-21F217SF1B-------------------------
  1979. INT 21 - Novell NetWare - GET OBJECT CONNECTION LIST
  1980.     AX = F217h subfn 1Bh
  1981.     CX = length of request packet in bytes
  1982.     DX = length of reply buffer in bytes
  1983.     DS:SI -> request packet (see #1831)
  1984.     ES:DI -> reply buffer (see #1832)
  1985. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  1986. SeeAlso: AH=F2h"Novell",AX=F217h/SF=15h
  1987.  
  1988. Format of NetWare "Get Object Connection List" request packet:
  1989. Offset    Size    Description    (Table 1831)
  1990.  00h    WORD    length of following data
  1991.  02h    BYTE    1Bh (subfunction "Get Object Connection List")
  1992.  03h    DWORD    search connection number
  1993.         set to highest connection number returned by previous call, or
  1994.           00000000h before first call
  1995.  07h    WORD    object type
  1996.  09h    BYTE    length of object's name
  1997.  0Ah  N BYTEs    object name
  1998. SeeAlso: #1832
  1999.  
  2000. Format of NetWare "Get Object Connection List" reply packet:
  2001. Offset    Size    Description    (Table 1832)
  2002.  00h    BYTE    length of connection number list
  2003.  01h  N WORDs    array of server connection numbers
  2004. SeeAlso: #1831
  2005. --------N-21F217SF1C-------------------------
  2006. INT 21 - Novell NetWare v3+ - GET CONNECTION INFORMATION
  2007.     AX = F217h subfn 1Ch
  2008.     CX = length of request packet in bytes
  2009.     DX = length of reply buffer in bytes
  2010.     DS:SI -> request packet (see #1833)
  2011.     ES:DI -> reply buffer (see #1834)
  2012. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2013.     reply buffer filled
  2014. SeeAlso: AH=F2h"Novell",AX=F217h/SF=16h,AX=F217h/SF=1Fh
  2015.  
  2016. Format of NetWare "Get Connection Information" request packet:
  2017. Offset    Size    Description    (Table 1833)
  2018.  00h    WORD    0005h (length of following data)
  2019.  02h    BYTE    1Ch (subfunction "Get Connection Information")
  2020.  03h    DWORD    target connection number
  2021. Note:    connection numbers greater than the maximum supported by the server
  2022.       can cause ABENDs
  2023. SeeAlso: #1834,#1825
  2024.  
  2025. Format of NetWare "Get Connection Information" reply packet:
  2026. Offset    Size    Description    (Table 1834)
  2027.  00h    DWORD    (big-endian) unique user ID, 00000000h if no one logged in
  2028.  04h    WORD    (big-endian) user type
  2029.  06h 48 BYTEs    user name
  2030.  36h  7 BYTEs    login time (see #1742)
  2031.  3Dh    BYTE    reserved
  2032. SeeAlso: #1833,#1826
  2033. --------N-21F217SF1D-------------------------
  2034. INT 21 - Novell NetWare v4 - CHANGE CONNECTION STATE
  2035.     AX = F217h subfn 1Dh
  2036.     CX = length of request buffer in bytes
  2037.     DX = length of reply buffer in bytes
  2038.     DS:SI -> request buffer (see #1835)
  2039.     ES:DI -> reply buffer
  2040. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2041.     reply buffer filled
  2042.  
  2043. Format of NetWare "Change Connection State" requst buffer:
  2044. Offset    Size    Description    (Table 1835)
  2045.  00h    WORD    length of following data
  2046.  02h    BYTE    1Dh (subfunction "Change Connection State")
  2047.  03h    DWORD    new state
  2048. --------N-21F217SF1E-------------------------
  2049. INT 21 - Novell NetWare v4 - SET WATCHDOG DELAY INTERVAL
  2050.     AX = F217h subfn 1Eh
  2051.     CX = length of request buffer in bytes
  2052.     DX = length of reply buffer in bytes
  2053.     DS:SI -> request buffer (see #1836)
  2054.     ES:DI -> reply buffer
  2055. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2056.     reply buffer filled
  2057.  
  2058. Format of NetWare "Set Watchdog Delay Interval" request buffer:
  2059. Offset    Size    Description    (Table 1836)
  2060.  00h    WORD    length of following data
  2061.  02h    BYTE    1Eh (subfunction "Set Watchdog Delay Interval")
  2062.  03h    DWORD    interval in minutes
  2063. --------N-21F217SF1F-------------------------
  2064. INT 21 - Novell NetWare v4 - GET CONNECTION LIST
  2065.     AX = F217h subfn 1Fh
  2066.     CX = length of request buffer in bytes
  2067.     DX = length of reply buffer in bytes
  2068.     DS:SI -> request buffer (see #1837)
  2069.     ES:DI -> reply buffer (see #1838)
  2070. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2071.     reply buffer filled
  2072.  
  2073. Format of NetWare "Get Connection List" request buffer:
  2074. Offset    Size    Description    (Table 1837)
  2075.  00h    WORD    length of following data
  2076.  02h    BYTE    1Fh (subfunction "Get Connection List")
  2077.  03h    DWORD    object ID
  2078.  07h    DWORD    ??? (initialize to FFFFFFFFh before first call)
  2079. SeeAlso: #1838
  2080.  
  2081. Format of NetWare "Get Connection List" reply buffer:
  2082. Offset    Size    Description    (Table 1838)
  2083.  00h    WORD    number of connections following (max 50)
  2084.  02h 50 DWORDs    connection numbers
  2085. SeeAlso: #1837
  2086. --------N-21F217SF32-------------------------
  2087. INT 21 - Novell NetWare - CREATE BINDERY OBJECT
  2088.     AX = F217h subfn 32h
  2089.     CX = length of request packet in bytes
  2090.     DX = 0000h (no reply packet)
  2091.     DS:SI -> request packet    (see #1574 at AH=E3h/SF=32h)
  2092.     ES:DI ignored
  2093. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2094. SeeAlso: AH=F2h"Novell",AH=E3h/SF=32h,AX=F217h/SF=33h,AX=F217h/SF=34h
  2095. --------N-21F217SF33-------------------------
  2096. INT 21 - Novell NetWare - DELETE BINDERY OBJECT
  2097.     AX = F217h subfn 33h
  2098.     CX = length of request packet in bytes
  2099.     DX = 0000h (no reply packet)
  2100.     DS:SI -> request packet    (see #1576 at AH=E3h/SF=33h)
  2101.     ES:DI ignored
  2102. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2103. SeeAlso: AH=F2h"Novell",AH=E3h/SF=33h,AX=F217h/SF=32h,AX=F217h/SF=34h
  2104. --------N-21F217SF34-------------------------
  2105. INT 21 - Novell NetWare - RENAME BINDERY OBJECT
  2106.     AX = F217h subfn 34h
  2107.     CX = length of request packet in bytes
  2108.     DX = 0000h (no reply packet)
  2109.     DS:SI -> request packet    (see #1577 at AH=E3h/SF=34h)
  2110.     ES:DI ignored
  2111. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2112. SeeAlso: AH=F2h"Novell",AH=E3h/SF=34h,AX=F217h/SF=32h,AX=F217h/SF=33h
  2113. --------N-21F217SF35-------------------------
  2114. INT 21 - Novell NetWare - GET BINDERY OBJECT ID
  2115.     AX = F217h subfn 35h
  2116.     CX = length of request packet in bytes
  2117.     DX = length of reply buffer in bytes
  2118.     DS:SI -> request packet (see #1578 at AH=E3h/SF=35h)
  2119.     ES:DI -> reply buffer (see #1839)
  2120. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2121. SeeAlso: AH=F2h"Novell",AH=E3h/SF=35h,AX=F217h/SF=36h,AX=F217h/SF=45h
  2122.  
  2123. Format of NetWare "Get Bindery Object ID" reply packet:
  2124. Offset    Size    Description    (Table 1839)
  2125.  00h    DWORD    (big-endian) object ID
  2126.  04h    WORD    (big-endian) type of object
  2127.  06h 48 BYTEs    object name
  2128. SeeAlso: #1578 at AH=E3h/SF=35h
  2129. --------N-21F217SF36-------------------------
  2130. INT 21 - Novell NetWare - GET BINDERY OBJECT NAME
  2131.     AX = F217h subfn 36h
  2132.     CX = length of request packet in bytes
  2133.     DX = length of reply buffer in bytes
  2134.     DS:SI -> request packet (see #1581 at AH=E3h/SF=36h)
  2135.     ES:DI -> reply buffer (see #1840)
  2136. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2137. SeeAlso: AH=F2h"Novell",AH=E3h/SF=36h,AX=F217h/SF=35h,AX=F217h/SF=37h
  2138.  
  2139. Format of NetWare "Get Bindery Object Name" reply packet:
  2140. Offset    Size    Description    (Table 1840)
  2141.  00h    DWORD    (big-endian) object ID
  2142.  04h    WORD    (big-endian) type of object
  2143.  06h 48 BYTEs    object name
  2144. SeeAlso: #1581 at AH=E3h/SF=36h
  2145. --------N-21F217SF37-------------------------
  2146. INT 21 - Novell NetWare - SCAN BINDERY OBJECT
  2147.     AX = F217h subfn 37h
  2148.     CX = length of request packet in bytes
  2149.     DX = length of reply buffer in bytes
  2150.     DS:SI -> request packet (see #1583 at AH=E3h/SF=37h)
  2151.     ES:DI -> reply buffer (see #1841)
  2152. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2153. SeeAlso: AH=F2h"Novell",AH=E3h/SF=37h,AX=F217h/SF=3Ch
  2154.  
  2155. Format of NetWare "Scan Bindery Object" reply packet:
  2156. Offset    Size    Description    (Table 1841)
  2157.  00h
  2158. SeeAlso: #1583
  2159. --------N-21F217SF38-------------------------
  2160. INT 21 - Novell NetWare - CHANGE BINDERY OBJECT SECURITY
  2161.     AX = F217h subfn 38h
  2162.     CX = length of request packet in bytes
  2163.     DX = 0000h (no reply buffer)
  2164.     DS:SI -> request packet    (see #1585 at AH=E3h/SF=38h)
  2165.     ES:DI ignored
  2166. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2167. SeeAlso: AH=F2h"Novell",AH=E3h/SF=38h,AX=F217h/SF=32h
  2168. --------N-21F217SF39-------------------------
  2169. INT 21 - Novell NetWare - CREATE PROPERTY
  2170.     AX = F217h subfn 39h
  2171.     CX = length of request packet in bytes
  2172.     DX = 0000h (no reply packet)
  2173.     DS:SI -> request packet    (see #1587 at AH=E3h/SF=39h)
  2174.     ES:DI ignored
  2175. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2176. SeeAlso: AH=F2h"Novell",AH=E3h/SF=39h,AX=F217h/SF=3Ah
  2177. --------N-21F217SF3A-------------------------
  2178. INT 21 - Novell NetWare - DELETE PROPERTY
  2179.     AX = F217h subfn 3Ah
  2180.     CX = length of request packet in bytes
  2181.     DX = 0000h (no reply packet)
  2182.     DS:SI -> request packet    (see #1589 at AH=E3h/SF=3Ah)
  2183.     ES:DI ignored
  2184. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2185. SeeAlso: AH=F2h"Novell",AH=E3h/SF=3Ah,AX=F217h/SF=39h,AX=F217h/SF=3Bh
  2186. --------N-21F217SF3B-------------------------
  2187. INT 21 - Novell NetWare - CHANGE PROPERTY SECURITY
  2188.     AX = F217h subfn 3Bh
  2189.     CX = length of request packet in bytes
  2190.     DX = 0000h (no reply buffer)
  2191.     DS:SI -> request packet    (see #1591 at AH=E3h/SF=3Bh)
  2192.     ES:DI ignored
  2193. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2194. SeeAlso: AH=F2h"Novell",AH=E3h/SF=3Bh
  2195. --------N-21F217SF3C-------------------------
  2196. INT 21 - Novell NetWare - SCAN PROPERTY
  2197.     AX = F217h subfn 3Ch
  2198.     CX = length of request packet in bytes
  2199.     DX = length of reply buffer in bytes
  2200.     DS:SI -> request packet (see #1592 at AH=E3h/SF=3Ch)
  2201.     ES:DI -> reply buffer (see #1842)
  2202. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2203. SeeAlso: AH=F2h"Novell",AH=E3h/SF=3Ch,AX=F217h/SF=39h,AX=F217h/SF=3Dh
  2204.  
  2205. Format of NetWare "Scan Property" reply packet:
  2206. Offset    Size    Description    (Table 1842)
  2207.  00h
  2208. SeeAlso: #1592
  2209. --------N-21F217SF3D-------------------------
  2210. INT 21 - Novell NetWare - READ PROPERTY VALUE
  2211.     AX = F217h subfn 3Dh
  2212.     CX = length of request packet in bytes
  2213.     DX = length of reply buffer in bytes
  2214.     DS:SI -> request packet (see #1595 at AH=E3h/SF=3Dh)
  2215.     ES:DI -> reply buffer (see #1843)
  2216. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2217. SeeAlso: AH=F2h"Novell",AH=E3h/SF=3Dh,AX=F217h/SF=39h,AX=F217h/SF=3Eh
  2218.  
  2219. Format of NetWare "Read Property Value" request packet:
  2220. Offset    Size    Description    (Table 1843)
  2221.  00h
  2222. SeeAlso: #1595
  2223. --------N-21F217SF3E-------------------------
  2224. INT 21 - Novell NetWare - WRITE PROPERTY VALUE
  2225.     AX = F217h subfn 3Eh
  2226.     CX = length of request packet in bytes
  2227.     DX = 0000h (no reply packet)
  2228.     DS:SI -> request packet    (see #1597 at AH=E3h/SF=3Eh)
  2229.     ES:DI ignored
  2230. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2231. SeeAlso: AH=F2h"Novell",AH=E3h/SF=3Eh,AX=F217h/SF=39h,AX=F217h/SF=3Dh
  2232. --------N-21F217SF3F-------------------------
  2233. INT 21 - Novell NetWare - VERIFY BINDERY OBJECT PASSWORD
  2234.     AX = F217h subfn 3Fh
  2235.     CX = length of request packet in bytes
  2236.     DX = 0000h (no reply packet)
  2237.     DS:SI -> request packet    (see #1600 at AH=E3h/SF=3Fh)
  2238.     ES:DI ignored
  2239. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2240. SeeAlso: AH=F2h"Novell",AH=E3h/SF=3Fh,AX=F217h/SF=40h
  2241. --------N-21F217SF40-------------------------
  2242. INT 21 - Novell NetWare - CHANGE BINDERY OBJECT PASSWORD
  2243.     AX = F217h subfn 40h
  2244.     CX = length of request packet in bytes
  2245.     DX = 0000h (no reply buffer)
  2246.     DS:SI -> request packet (see #1601 at AH=E3h/SF=40h)
  2247.     ES:DI ignored
  2248. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2249. SeeAlso: AH=F2h"Novell",AH=E3h/SF=40h,AX=F217h/SF=3Fh
  2250. --------N-21F217SF41-------------------------
  2251. INT 21 - Novell NetWare v2.2+ - ADD OBJECT TO SET
  2252.     AX = F217h subfn 41h
  2253.     CX = length of request packet in bytes
  2254.     DX = 0000h (no reply packet)
  2255.     DS:SI -> request packet    (see #1604 at AH=E3h/SF=41h)
  2256.     ES:DI ignored
  2257. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2258. Desc:    add a member to an object's group property
  2259. SeeAlso: AH=F2h"Novell",AH=E3h/SF=41h,AX=F217h/SF=42h,AX=F217h/SF=43h
  2260. --------N-21F217SF42-------------------------
  2261. INT 21 - Novell NetWare - DELETE BINDERY OBJECT FROM SET
  2262.     AX = F217h subfn 42h
  2263.     CX = length of request packet in bytes
  2264.     DX = 0000h (no reply packet)
  2265.     DS:SI -> request packet    (see #1605 at AH=E3h/SF=42h)
  2266.     ES:DI ignored
  2267. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2268. SeeAlso: AH=F2h"Novell",AH=E3h/SF=42h,AX=F217h/SF=41h,AX=F217h/SF=43h
  2269. --------N-21F217SF43-------------------------
  2270. INT 21 - Novell NetWare - IS BINDERY OBJECT IN SET?
  2271.     AX = F217h subfn 43h
  2272.     CX = length of request packet in bytes
  2273.     DX = 0000h (no reply packet)
  2274.     DS:SI -> request packet (see #1607 at AH=E3h/SF=43h)
  2275.     ES:DI ignored
  2276. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2277. SeeAlso: AH=F2h"Novell",AH=E3h/SF=43h,AX=F217h/SF=41h,AX=F217h/SF=42h
  2278. --------N-21F217SF44-------------------------
  2279. INT 21 - Novell NetWare - CLOSE BINDERY
  2280.     AX = F217h subfn 44h
  2281.     CX = length of request packet in bytes
  2282.     DX = 0000h (no reply packet)
  2283.     DS:SI -> request packet    (see #1608 at AH=E3h/SF=44h)
  2284.     ES:DI ignored
  2285. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2286. SeeAlso: AH=F2h"Novell",AH=E3h/SF=44h,AX=F217h/SF=45h
  2287. --------N-21F217SF45-------------------------
  2288. INT 21 - Novell NetWare - OPEN BINDERY
  2289.     AX = F217h subfn 45h
  2290.     CX = length of request packet in bytes
  2291.     DX = 0000h (no reply packet)
  2292.     DS:SI -> request packet    (see #1609 at AH=E3h/SF=45h)
  2293.     ES:DI ignored
  2294. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2295. SeeAlso: AH=F2h"Novell",AH=E3h/SF=45h,AX=F217h/SF=44h
  2296. --------N-21F217SF46-------------------------
  2297. INT 21 - Novell NetWare - GET BINDERY ACCESS LEVEL
  2298.     AX = F217h subfn 46h
  2299.     CX = length of request packet in bytes
  2300.     DX = length of reply buffer in bytes
  2301.     DS:SI -> request packet (see #1610 at AH=E3h/SF=46h)
  2302.     ES:DI -> reply buffer (see #1844)
  2303. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2304. SeeAlso: AH=F2h"Novell",AH=E3h/SF=46h,AX=F217h/SF=45h
  2305.  
  2306. Format of NetWare "Get Bindery Access Level" reply packet:
  2307. Offset    Size    Description    (Table 1844)
  2308.  00h    BYTE    security levels
  2309.  01h    DWORD    (big-endian) object ID
  2310. SeeAlso: #1610,#1611 at AH=E3h/SF=46h
  2311. --------N-21F217SF47-------------------------
  2312. INT 21 - Novell NetWare - SCAN BINDERY OBJECT TRUSTEE PATHS
  2313.     AX = F217h subfn 47h
  2314.     CX = length of request packet in bytes
  2315.     DX = length of reply buffer in bytes
  2316.     DS:SI -> request packet (see #1612 at AH=E3h/SF=47h)
  2317.     ES:DI -> reply buffer (see #1845)
  2318. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2319. SeeAlso: AH=F2h"Novell",AH=E3h/SF=47h,AX=F216h/SF=0Ch,AX=F217h/SF=48h
  2320.  
  2321. Format of NetWare "Scan Bindery Object Trustee Paths" reply packet:
  2322. Offset    Size    Description    (Table 1845)
  2323.  00h    WORD    (big-endian) next sequence number
  2324.  02h    DWORD    (big-endian) object ID
  2325.  06h    BYTE    trustee directory rights (see #1502 at AH=E2h/SF=03h)
  2326.  07h    BYTE    length of trustee path
  2327.  08h  N BYTEs    trustee path
  2328. SeeAlso: #1612,#1613 at AH=E3h/SF=47h
  2329. --------N-21F217SF48-------------------------
  2330. INT 21 - Novell NetWare - GET BINDERY OBJECT ACCESS LEVEL
  2331.     AX = F217h subfn 48h
  2332.     CX = length of request packet in bytes
  2333.     DX = length of reply buffer in bytes
  2334.     DS:SI -> request packet (see #1846)
  2335.     ES:DI -> reply buffer (see #1847)
  2336. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2337. SeeAlso: AH=F2h"Novell",AX=F217h/SF=45h,AX=F217h/SF=46h
  2338.  
  2339. Format of NetWare "Get Bindery Object Access Level" request packet:
  2340. Offset    Size    Description    (Table 1846)
  2341.  00h    WORD    length of following data (max ABh)
  2342.  02h    BYTE    48h (subfunction "Get Bindery Object Access Level")
  2343.  03h    DWORD    object ID
  2344. SeeAlso: #1847
  2345.  
  2346. Format of NetWare "Get Bindery Object Access Level" reply packet:
  2347. Offset    Size    Description    (Table 1847)
  2348.  00h    BYTE    object access level
  2349. SeeAlso: #1846
  2350. --------N-21F217SF49-------------------------
  2351. INT 21 - Novell NetWare - IS STATION A MANAGER?
  2352.     AX = F217h subfn 49h
  2353.     CX = length of request packet in bytes
  2354.     DX = 0000h (no reply packet)
  2355.     DS:SI -> request packet (see #1848)
  2356.     ES:DI ignored
  2357. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2358. SeeAlso: AH=F2h"Novell",AX=F217h/SF=43h
  2359.  
  2360. Format of NetWare "Is Station A Manager?" request packet:
  2361. Offset    Size    Description    (Table 1848)
  2362.  00h    WORD    length of following data
  2363.  02h    BYTE    49h (subfunction "Is Station A Manager?")
  2364.  03h    DWORD    object ID
  2365. --------N-21F217SF4A-------------------------
  2366. INT 21 - Novell NetWare - KEYED VERIFY BINDERY OBJECT PASSWORD
  2367.     AX = F217h subfn 4Ah
  2368.     CX = length of request packet in bytes
  2369.     DX = 0000h (no reply packet)
  2370.     DS:SI -> request packet (see #1849)
  2371.     ES:DI ignored
  2372. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2373. SeeAlso: AH=F2h"Novell",AX=F217h/SF=4Bh
  2374.  
  2375. Format of NetWare "Keyed Verify Bindery Object Password" request packet:
  2376. Offset    Size    Description    (Table 1849)
  2377.  00h    WORD    length of following data
  2378.  02h    BYTE    4Ah (subfunction "Keyed Verify Bindery Object Password")
  2379.  03h  8 BYTEs    key
  2380.  0Bh    WORD    type
  2381.  0Dh    BYTE    length of object's name
  2382.  0Eh  N BYTEs    object name
  2383. SeeAlso: #1850
  2384. --------N-21F217SF4B-------------------------
  2385. INT 21 - Novell NetWare - KEYED CHANGE BINDERY OBJECT PASSWORD
  2386.     AX = F217h subfn 4Bh
  2387.     CX = length of request packet in bytes
  2388.     DX = 0000h (no reply packet)
  2389.     DS:SI -> request packet (see #1850)
  2390.     ES:DI ignored
  2391. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2392. SeeAlso: AH=F2h"Novell",AX=F217h/SF=4Ah
  2393.  
  2394. Format of NetWare "Keyed Change Bindery Object Password" request packet:
  2395. Offset    Size    Description    (Table 1850)
  2396.  00h    WORD    length of following data
  2397.  02h    BYTE    4Bh (subfunction "Keyed Change Bindery Object Password")
  2398.  03h  8 BYTEs    key
  2399.  0Bh    WORD    type
  2400.  0Dh    BYTE    length of object name
  2401.  0Eh  N BYTEs    object name
  2402.     BYTE    length of new password
  2403.       N BYTEs    new password
  2404. SeeAlso: #1601
  2405. --------N-21F217SF4C-------------------------
  2406. INT 21 - Novell NetWare - LIST RELATIONS OF AN OBJECT
  2407.     AX = F217h subfn 4Ch
  2408.     CX = length of request packet in bytes
  2409.     DX = length of reply buffer in bytes
  2410.     DS:SI -> request packet (see #1851)
  2411.     ES:DI -> reply buffer (see #1852)
  2412. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2413. SeeAlso: AH=F2h"Novell",AX=F217h/SF=39h
  2414.  
  2415. Format of NetWare "List Relations Of An Object" request packet:
  2416. Offset    Size    Description    (Table 1851)
  2417.  00h    WORD    length of following data
  2418.  02h    BYTE    4Ch (subfunction "List Relations Of An Object")
  2419.  03h    DWORD    last bindery ID seen (set to FFFFFFFFh on first call)
  2420.  07h    WORD    object type
  2421.  09h    BYTE    length of object's name
  2422.  0Ah  N BYTEs    object's name
  2423.     BYTE    length of property name
  2424.       N BYTEs    property name
  2425. SeeAlso: #1852
  2426.  
  2427. Format of NetWare "List Relations Of An Object" reply packet:
  2428. Offset    Size    Description    (Table 1852)
  2429.  00h    WORD    number of relations returned
  2430.  02h    var    relations
  2431. SeeAlso: #1851
  2432. --------N-21F217SF64-------------------------
  2433. INT 21 - Novell NetWare v2.1+ - CREATE QUEUE
  2434.     AX = F217h subfn 64h
  2435.     CX = length of request packet in bytes
  2436.     DX = length of reply buffer in bytes
  2437.     DS:SI -> request packet (see #1615 at AH=E3h/SF=64h)
  2438.     ES:DI -> reply buffer (see #1853)
  2439. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2440. SeeAlso: AH=F2h"Novell",AH=E3h/SF=64h,AX=F217h/SF=65h,AX=F217h/SF=66h
  2441.  
  2442. Format of NetWare "Create Queue" reply packet:
  2443. Offset    Size    Description    (Table 1853)
  2444.  00h    DWORD    (big-endian) object ID of queue
  2445. SeeAlso: #1615,#1616
  2446. --------N-21F217SF65-------------------------
  2447. INT 21 - Novell NetWare v2.1+ - DESTROY QUEUE
  2448.     AX = F217h subfn 65h
  2449.     CX = length of request packet in bytes
  2450.     DX = 0000h (no reply packet)
  2451.     DS:SI -> request packet (see #1617 at AH=E3h/SF=65h)
  2452.     ES:DI ignored
  2453. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2454. SeeAlso: AH=F2h"Novell",AH=E3h/SF=65h,AX=F217h/SF=64h,AX=F217h/SF=66h
  2455. --------N-21F217SF66-------------------------
  2456. INT 21 - Novell NetWare v2.1+ - READ QUEUE CURRENT STATUS (OLD)
  2457.     AX = F217h subfn 66h
  2458.     CX = length of request packet in bytes
  2459.     DX = length of reply buffer in bytes
  2460.     DS:SI -> request packet (see #1618 at AH=E3h/SF=64h)
  2461.     ES:DI -> reply buffer (see #1854)
  2462. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2463. SeeAlso: AH=F2h"Novell",AH=E3h/SF=66h,AX=F217h/SF=64h,AX=F217h/SF=67h
  2464.  
  2465. Format of NetWare "Read Queue Current Status (Old)" reply packet:
  2466. Offset    Size    Description    (Table 1854)
  2467.  00h    DWORD    (big-endian) object ID of queue
  2468.  04h    BYTE    status of queue (see #1620)
  2469.  05h    BYTE    number of jobs in queue (00h-FAh)
  2470.  06h    BYTE    number of servers attached to queue (00h-19h)
  2471.  07h 25 DWORDs    list of object IDs of attached servers
  2472.  6Bh 25 BYTEs    list of attached servers' stations
  2473.  84h    BYTE    (call) maximum number of servers to return
  2474. SeeAlso: #1618,#1619 at AH=E3h/SF=66h
  2475. --------N-21F217SF67-------------------------
  2476. INT 21 - Novell NetWare v2.1+ - SET QUEUE CURRENT STATUS (OLD)
  2477.     AX = F217h subfn 67h
  2478.     CX = length of request packet in bytes
  2479.     DX = 0000h (no reply packet)
  2480.     DS:SI -> request packet (see #1621 at AH=E3h/SF=67h)
  2481. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2482. SeeAlso: AH=F2h"Novell",AH=E3h/SF=67h,AX=F217h/SF=66h,AX=F217h/SF=68h
  2483. --------N-21F217SF68-------------------------
  2484. INT 21 - Novell NetWare v2.1+ - CREATE QUEUE JOB AND FILE (OLD)
  2485.     AX = F217h subfn 68h
  2486.     CX = length of request packet in bytes
  2487.     DX = length of reply buffer in bytes
  2488.     DS:SI -> request packet (see #1623 at AH=E3h/SF=68h)
  2489.     ES:DI -> reply buffer (see #1855)
  2490. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2491. SeeAlso: AH=F2h"Novell",AH=E3h/SF=68h,AX=F217h/SF=67h,AX=F217h/SF=69h
  2492.  
  2493. Format of NetWare "Create Queue Job And File (Old)" reply packet:
  2494. Offset    Size    Description    (Table 1855)
  2495.  00h    BYTE    client station
  2496.  01h    BYTE    client task number
  2497.  02h    DWORD    (big-endian) object ID of client
  2498.  06h    DWORD    (big-endian) object ID of target server
  2499.  0Ah  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  2500.  10h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  2501.  16h    WORD    (big-endian) job number
  2502.  18h    WORD    (big-endian) job type
  2503.  1Ah    BYTE    job position
  2504.  1Bh    BYTE    job control flags (see #1633)
  2505.  1Ch 14 BYTEs    ASCIZ job file name
  2506.  2Ah  6 BYTEs    job file handle
  2507.  30h    BYTE    server station
  2508.  31h    BYTE    server task number
  2509.  32h    DWORD    (big-endian) object ID of server or 00000000h
  2510. SeeAlso: #1623,#1625
  2511. --------N-21F217SF69-------------------------
  2512. INT 21 - Novell NetWare v2.1+ - CLOSE FILE AND START QUEUE JOB (OLD)
  2513.     AX = F217h subfn 69h
  2514.     CX = length of request packet in bytes
  2515.     DX = 0000h (no reply packet)
  2516.     DS:SI -> request packet (see #1626 at AH=E3h/SF=69h)
  2517.     ES:DI ignored
  2518. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2519. SeeAlso: AH=F2h"Novell",AH=E3h/SF=69h,AX=F217h/SF=6Ah,AX=F217h/SF=7Fh
  2520. --------N-21F217SF6A-------------------------
  2521. INT 21 - Novell NetWare v2.1+ - REMOVE JOB FROM QUEUE (OLD)
  2522.     AX = F217h subfn 6Ah
  2523.     CX = length of request packet in bytes
  2524.     DX = 0000h (no reply packet)
  2525.     DS:SI -> request packet (see #1628 at AH=E3h/SF=6Ah)
  2526.     ES:DI ignored
  2527. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2528. SeeAlso: AH=F2h"Novell",AH=E3h/SF=6Ah,AX=F217h/SF=68h,AX=F217h/SF=69h
  2529. --------N-21F217SF6B-------------------------
  2530. INT 21 - Novell NetWare v2.1+ - GET QUEUE JOB LIST (OLD)
  2531.     AX = F217h subfn 6Bh
  2532.     CX = length of request packet in bytes
  2533.     DX = length of reply buffer in bytes
  2534.     DS:SI -> request packet (see #1629 at AH=E3h/SF=6Bh)
  2535.     ES:DI -> reply buffer (see #1856)
  2536. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2537. SeeAlso: AH=F2h"Novell",AH=E3h/SF=6Bh,AX=F217h/SF=6Ah,AX=F217h/SF=6Ch
  2538. SeeAlso: AX=F217h/SF=81h
  2539.  
  2540. Format of NetWare "Get Queue Job List (old)" reply packet:
  2541. Offset    Size    Description    (Table 1856)
  2542.  00h    WORD    (big-endian) job count
  2543.  02h  N WORDs    (big-endian) list of job numbers by position in queue
  2544. SeeAlso: #1629,#1630 at AH=E3h/SF=6Bh
  2545. --------N-21F217SF6C-------------------------
  2546. INT 21 - Novell NetWare v2.1+ - READ QUEUE JOB ENTRY (OLD)
  2547.     AX = F217h subfn 6Ch
  2548.     CX = length of request packet in bytes
  2549.     DX = length of reply buffer in bytes
  2550.     DS:SI -> request packet (see #1631 at AH=E3h/SF=6Ch)
  2551.     ES:DI -> reply buffer (see #1857)
  2552. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2553. SeeAlso: AH=F2h"Novell",AH=E3h/SF=6Ch,AX=F217h/SF=6Bh,AX=F217h/SF=6Dh
  2554.  
  2555. Format of NetWare "Read Queue Job Entry (old)" reply packet:
  2556. Offset    Size    Description    (Table 1857)
  2557.  00h    BYTE    client station number
  2558.  01h    BYTE    client task number
  2559.  02h    DWORD    object ID of client
  2560.  06h    DWORD    (big-endian) object ID of target server
  2561.         FFFFFFFFh if any server acceptable
  2562.  0Ah  6 BYTEs    target execution time (year,month,day,hour,minute,second)
  2563.         FFFFFFFFFFFFh if serviced as soon as possible
  2564.  10h  6 BYTEs    job entry time (year,month,day,hour,minute,second)
  2565.  16h    WORD    (big-endian) job number
  2566.  18h    WORD    (big-endian) job type
  2567.  1Ah    BYTE    job position
  2568.  1Bh    BYTE    job control flags (see #1633)
  2569.  1Ch 14 BYTEs    ASCIZ job filename
  2570.  2Ah  6 BYTEs    job file handle
  2571.  30h    BYTE    server station
  2572.  31h    BYTE    server task number
  2573.  32h    DWORD    object ID of server
  2574.  36h 50 BYTEs    ASCIZ job description string
  2575.  68h 152 BYTEs    client record area
  2576. SeeAlso: #1631,#1632
  2577. --------N-21F217SF6D-------------------------
  2578. INT 21 - Novell NetWare v2.1+ - CHANGE QUEUE JOB ENTRY (OLD)
  2579.     AX = F217h subfn 6Dh
  2580.     CX = length of request packet in bytes
  2581.     DX = 0000h (no reply packet)
  2582.     DS:SI -> request packet (see #1634 at AH=E3h/SF=6Dh)
  2583.     ES:DI ignored
  2584. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2585. SeeAlso: AH=F2h"Novell",AX=F217h/SF=7Bh,AH=E3h/SF=6Dh,AX=F217h/SF=6Ch
  2586. --------N-21F217SF6E-------------------------
  2587. INT 21 - Novell NetWare v2.1+ - CHANGE QUEUE JOB POSITION
  2588.     AX = F217h subfn 6Eh
  2589.     CX = length of request packet in bytes
  2590.     DX = 0000h (no reply packet)
  2591.     DS:SI -> request packet (see #1635 at AH=E3h/SF=6Eh)
  2592.     ES:DI ignored
  2593. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2594. SeeAlso: AX=F217h/SF=6Dh,AH=E3h/SF=6Eh
  2595. --------N-21F217SF6F-------------------------
  2596. INT 21 - Novell NetWare v2.1+ - ATTACH QUEUE SERVER TO QUEUE
  2597.     AX = F217h subfn 6Fh
  2598.     CX = length of request packet in bytes
  2599.     DX = 0000h (no reply packet)
  2600.     DS:SI -> request packet (see #1637 at AH=E3h/SF=6Fh)
  2601.     ES:DI ignored
  2602. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2603. SeeAlso: AH=F2h"Novell",AH=E3h/SF=6Fh,AX=F217h/SF=D2h
  2604. --------N-21F217SF70-------------------------
  2605. INT 21 - Novell NetWare v2.1+ - DETACH QUEUE SERVER FROM QUEUE
  2606.     AX = F217h subfn 70h
  2607.     CX = length of request packet in bytes
  2608.     DX = 0000h (no reply packet)
  2609.     DS:SI -> request packet (see #1638 at AH=E3h/SF=70h)
  2610.     ES:DI ignored
  2611. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2612. SeeAlso: AH=F2h"Novell",AH=E3h/SF=70h,AX=F217h/SF=6Fh
  2613. --------N-21F217SF71-------------------------
  2614. INT 21 - Novell NetWare v2.1+ - SERVICE QUEUE JOB AND OPEN FILE
  2615.     AX = F217h subfn 71h
  2616.     CX = length of request packet in bytes
  2617.     DX = 0000h (no reply packet)
  2618.     DS:SI -> request packet (see #1639 at AH=E3h/SF=71h)
  2619.     ES:DI ignored
  2620. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2621. Notes:    the caller must be on a workstation which is security-equivalent to a
  2622.       member of the queue's Q_USERS, Q_OPERATORS, or Q_SERVERS properties
  2623. SeeAlso: AH=E3h/SF=71h,AX=F217h/SF=70h,AX=F217h/SF=72h
  2624. --------N-21F217SF72-------------------------
  2625. INT 21 - Novell NetWare v2.1+ - FINISH SERVICING QUEUE JOB (OLD)
  2626.     AX = F217h subfn 72h
  2627.     CX = length of request packet in bytes
  2628.     DX = 0000h (no reply packet)
  2629.     DS:SI -> request packet (see #1640 at AH=E3h/SF=72h)
  2630.     ES:DI ignored
  2631. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2632. SeeAlso: AH=F2h"Novell",AH=E3h/SF=72h,AX=F217h/SF=71h,AX=F217h/SF=73h
  2633. SeeAlso: AX=F217h/SF=83h
  2634. --------N-21F217SF73-------------------------
  2635. INT 21 - Novell NetWare v2.1+ - ABORT SERVICING QUEUE JOB (OLD)
  2636.     AX = F217h subfn 73h
  2637.     CX = length of request packet in bytes
  2638.     DX = 0000h (no reply packet)
  2639.     DS:SI -> request packet (see #1641 at AH=E3h/SF=73h)
  2640.     ES:DI ignored
  2641. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2642. SeeAlso: AH=F2h"Novell",AH=E3h/SF=73h,AX=F217h/SF=72h,AX=F217h/SF=84h
  2643. --------N-21F217SF74-------------------------
  2644. INT 21 - Novell NetWare v2.1+ - CHANGE TO CLIENT RIGHTS (OLD)
  2645.     AX = F217h subfn 74h
  2646.     CX = length of request packet in bytes
  2647.     DX = 0000h (no reply packet)
  2648.     DS:SI -> request packet (see #1643 at AH=E3h/SF=74h)
  2649.     ES:DI ignored
  2650. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2651. Desc:    temporarily assume the login identity of the client submitting the
  2652.       job being serviced
  2653. SeeAlso: AH=F2h"NetWare",AH=E3h/SF=74h,AX=F217h/SF=85h
  2654. --------N-21F217SF75-------------------------
  2655. INT 21 - Novell NetWare v2.1+ - RESTORE QUEUE SERVER RIGHTS
  2656.     AX = F217h subfn 75h
  2657.     CX = length of request packet in bytes
  2658.     DX = 0000h (no reply packet)
  2659.     DS:SI -> request packet (see #1644 at AH=E3h/SF=75h)
  2660.     ES:DI ignored
  2661. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2662. SeeAlso: AH=F2h"Novell",AH=E3h/SF=75h,AX=F217h/SF=74h
  2663. --------N-21F217SF76-------------------------
  2664. INT 21 - Novell NetWare - READ QUEUE SERVER CURRENT STATUS (OLD)
  2665.     AX = F217h subfn 76h
  2666.     CX = length of request packet in bytes
  2667.     DX = length of reply buffer in bytes
  2668.     DS:SI -> request packet (see #1645 at AH=E3h/SF=76h)
  2669.     ES:DI -> reply buffer (see #1858)
  2670. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2671. SeeAlso: AH=F2h"Novell",AH=E3h/SF=76h,AX=F217h/SF=74h,AX=F217h/SF=77h
  2672.  
  2673. Format of NetWare "Read Queue Server Current Status (old)" reply packet:
  2674. Offset    Size    Description    (Table 1858)
  2675.  00h 64 BYTEs    server status record (format depends on server)
  2676.         first four bytes should contain estimated "price" for an
  2677.           average job
  2678. SeeAlso: #1645,#1646 at AH=E3h/SF=76h
  2679. --------N-21F217SF77-------------------------
  2680. INT 21 - Novell NetWare - SET QUEUE SERVER CURRENT STATUS
  2681.     AX = F217h subfn 77h
  2682.     CX = length of request packet in bytes
  2683.     DX = 0000h (no reply packet)
  2684.     DS:SI -> request packet (see #1647 at AH=E3h/SF=77h)
  2685.     ES:DI ignored
  2686. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2687. SeeAlso: AH=F2h"Novell",AH=E3h/SF=77h,AX=F217h/SF=76h
  2688. --------N-21F217SF78-------------------------
  2689. INT 21 - Novell NetWare - GET QUEUE JOB FILE SIZE (OLD)
  2690.     AX = F217h subfn 78h
  2691.     CX = length of request packet in bytes
  2692.     DX = length of reply buffer in bytes
  2693.     DS:SI -> request packet (see #1649 at AH=E3h/SF=78h)
  2694.     ES:DI -> reply buffer (see #1859)
  2695. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2696. SeeAlso: AH=F2h"Novell",AH=E3h/SF=78h,AX=F217h/SF=71h,AX=F217h/SF=79h
  2697.  
  2698. Format of NetWare "Get Queue Job File Size (old)" reply packet:
  2699. Offset    Size    Description    (Table 1859)
  2700.  00h    DWORD    (big-endian) object ID of queue
  2701.  04h    WORD    (big-endian) job number
  2702.  06h    DWORD    (big-endian) size of job file in bytes
  2703. SeeAlso: #1649,#1650 at AH=E3h/SF=78h
  2704. --------N-21F217SF79-------------------------
  2705. INT 21 - Novell NetWare - CREATE QUEUE JOB AND FILE
  2706.     AX = F217h subfn 79h
  2707.     CX = length of request packet in bytes
  2708.     DX = length of reply buffer in bytes
  2709.     DS:SI -> request packet (see #1860)
  2710.     ES:DI -> reply buffer (see #1861)
  2711. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2712. SeeAlso: AH=F2h"Novell",AX=F217h/SF=7Ah,AX=F217h/SF=7Bh
  2713.  
  2714. Format of NetWare "Create Queue Job And File" request packet:
  2715. Offset    Size    Description    (Table 1860)
  2716.  00h    WORD    length of following data
  2717.  02h    BYTE    79h (subfunction "Create Queue Job And File")
  2718.  03h    DWORD    queue ID
  2719.  07h 280 BYTEs    queue job structure (see #1865)
  2720. SeeAlso: #1861,#1862,#1864
  2721.  
  2722. Format of NetWare "Create Queue Job And File" reply packet:
  2723. Offset    Size    Description    (Table 1861)
  2724.  00h 10 BYTEs    reserved for future use
  2725.  0Ah    DWORD    client station
  2726.  0Eh    DWORD    client task
  2727.  12h    DWORD    client ID
  2728.  16h    DWORD    target server ID
  2729.  1Ah  6 BYTEs    target execution time year,month,day,hour,minute,second
  2730.         (FFFFFFFFFFFFh = first opportunity)
  2731.  20h  6 BYTEs    job entry time
  2732.         (set by queue manager)
  2733.  26h    DWORD    job number (1-999) assigned by queue manager
  2734.  2Ah    WORD    job type
  2735.  2Ch    WORD    position of job in queue (0001h = first, etc.)
  2736.  2Eh    WORD    job control flags (see #1633 at AH=E3h/SF=6Ch)
  2737.  30h 14 BYTEs    ASCIZ job file name
  2738.  3Eh    DWORD    job file handle    (set by queue manager)
  2739.  42h    DWORD    server station (set by queue manager)
  2740.  46h    DWORD    server task number (set by queue manager)
  2741.  4Ah    DWORD    server object ID (set by queue manager)
  2742. SeeAlso: #1860,#1865
  2743. --------N-21F217SF7A-------------------------
  2744. INT 21 - Novell NetWare - READ QUEUE JOB ENTRY
  2745.     AX = F217h subfn 7Ah
  2746.     CX = length of request packet in bytes
  2747.     DX = length of reply buffer in bytes
  2748.     DS:SI -> request packet (see #1862)
  2749.     ES:DI -> reply buffer (see #1863)
  2750. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2751. SeeAlso: AH=F2h"Novell",AX=F217h/SF=79h,AX=F217h/SF=7Bh
  2752.  
  2753. Format of NetWare "Read Queue Job Entry" request packet:
  2754. Offset    Size    Description    (Table 1862)
  2755.  00h    WORD    length of following data
  2756.  02h    BYTE    7Ah (subfunction "Read Queue Job Entry")
  2757.  03h    DWORD    queue ID
  2758.  07h    DWORD    job entry number
  2759. SeeAlso: #1863,#1860,#1864
  2760.  
  2761. Format of NetWare "Read Queue Job Entry" reply packet:
  2762. Offset    Size    Description    (Table 1863)
  2763.  00h 280 BYTEs    job structure (see #1865)
  2764. SeeAlso: #1862
  2765. --------N-21F217SF7B-------------------------
  2766. INT 21 - Novell NetWare v2.1+ - CHANGE QUEUE JOB ENTRY
  2767.     AX = F217h subfn 7Bh
  2768.     CX = length of request packet in bytes
  2769.     DX = 0000h (no reply packet)
  2770.     DS:SI -> request packet (see #1864)
  2771.     ES:DI ignored
  2772. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2773. SeeAlso: AH=F2h"Novell",AX=F217h/SF=6Dh,AX=F217h/SF=79h,AX=F217h/SF=7Dh
  2774.  
  2775. Format of NetWare "Change Queue Job Entry" request packet:
  2776. Offset    Size    Description    (Table 1864)
  2777.  00h    WORD    length of following data
  2778.  02h    BYTE    7Bh (subfunction "Change Queue Job Entry")
  2779.  03h    DWORD    queue ID
  2780.  07h 280 BYTEs    job structure (see #1865)
  2781. SeeAlso: #1860,#1862
  2782.  
  2783. Format of NetWare v3.11+ job structure:
  2784. Offset    Size    Description    (Table 1865)
  2785.  00h    WORD    record-in-use flag
  2786.  02h    DWORD    -> previous record
  2787.  06h    DWORD    -> next record
  2788.  0Ah    DWORD    client station connection number
  2789.  0Eh    DWORD    client task number
  2790.         (set by queue manager)
  2791.  12h    DWORD    client object ID
  2792.  16h    DWORD    target server object ID
  2793.  1Ah  6 BYTEs    target execution time year,month,day,hour,minute,second
  2794.         (FFFFFFFFFFFFh = first opportunity)
  2795.  20h  6 BYTEs    job entry time
  2796.         (set by queue manager)
  2797.  26h    DWORD    job number (1-999) assigned by queue manager
  2798.  2Ah    WORD    job type
  2799.  2Ch    WORD    position of job in queue (0001h = first, etc.)
  2800.  2Eh    WORD    job control flags (see #1633 at AH=E3h/SF=6Ch)
  2801.  30h 14 BYTEs    ASCIZ job file name
  2802.  3Eh    DWORD    job file handle    (set by queue manager)
  2803.  42h    DWORD    server station (set by queue manager)
  2804.  46h    DWORD    server task number (set by queue manager)
  2805.  4Ah    DWORD    server object ID (set by queue manager)
  2806.  4Eh 50 BYTEs    ASCIZ job description string
  2807.  80h 152 BYTEs    client record area
  2808. SeeAlso: #1864,#1624
  2809. --------N-21F217SF7D-------------------------
  2810. INT 21 - Novell NetWare - READ QUEUE CURRENT STATUS
  2811.     AX = F217h subfn 7Dh
  2812.     CX = length of request packet in bytes
  2813.     DX = length of reply buffer in bytes
  2814.     DS:SI -> request packet (see #1866)
  2815.     ES:DI -> reply buffer (see #1867)
  2816. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2817. SeeAlso: AH=F2h"Novell",AX=F217h/SF=66h,AX=F217h/SF=79h,AX=F217h/SF=7Bh
  2818. SeeAlso: AX=F217h/SF=7Eh
  2819.  
  2820. Format of NetWare "Read Queue Current Status" request packet:
  2821. Offset    Size    Description    (Table 1866)
  2822.  00h    WORD    length of following data
  2823.  02h    BYTE    7Dh (subfunction "Read Queue Current Status")
  2824.  03h    DWORD    (big-endian) object ID of queue
  2825. SeeAlso: #1867,#1868
  2826.  
  2827. Format of NetWare "Read Queue Current Status" reply packet:
  2828. Offset    Size    Description    (Table 1867)
  2829.  00h    DWORD    queue ID
  2830.  04h    DWORD    queue status
  2831.         bit 0: no more jobs can be added
  2832.         bit 1: no more queue servers can be attached
  2833.         bit 2: attached queu servers can not service queue jobs
  2834.  08h    DWORD    current number of jobs in queue
  2835.  0Ch    DWORD    number of servers attached to queue
  2836.  10h  N DWORDs    attached server IDs
  2837. SeeAlso: #1866,#1619 at AH=E3h/SF=66h
  2838. --------N-21F217SF7E-------------------------
  2839. INT 21 - Novell NetWare - SET QUEUE CURRENT STATUS
  2840.     AX = F217h subfn 7Eh
  2841.     CX = length of request packet in bytes
  2842.     DX = 0000h (no reply packet)
  2843.     DS:SI -> request packet (see #1868)
  2844.     ES:DI ignored
  2845. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2846. SeeAlso: AH=F2h"Novell",AX=F217h/SF=7Dh
  2847.  
  2848. Format of NetWare "Set Queue Current Status" request packet:
  2849. Offset    Size    Description    (Table 1868)
  2850.  00h    WORD    length of following data
  2851.  02h    BYTE    7Eh (subfunction "Set Queue Current Status")
  2852.  03h    DWORD    queue ID
  2853.  07h    DWORD    queue status
  2854.         bit 0: no more jobs can be added
  2855.         bit 1: no more queue servers can be attached
  2856.         bit 2: attached queu servers can not service queue jobs
  2857. SeeAlso: #1866
  2858. --------N-21F217SF7F-------------------------
  2859. INT 21 - Novell NetWare - CLOSE FILE AND START QUEUE JOB
  2860.     AX = F217h subfn 7Fh
  2861.     CX = length of request packet in bytes
  2862.     DX = 0000h (no reply packet)
  2863.     DS:SI -> request packet (see #1869)
  2864.     ES:DI ignored
  2865. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2866. SeeAlso: AH=F2h"Novell",AX=F217h/SF=69h,AX=F217h/SF=80h,AX=F217h/SF=81h
  2867.  
  2868. Format of NetWare "Close File And Start Queue Job" request packet:
  2869. Offset    Size    Description    (Table 1869)
  2870.  00h    WORD    length of following data
  2871.  02h    BYTE    7Fh (subfunction "Close File And Start Queue Job")
  2872.  03h    DWORD    queue ID
  2873.  07h    DWORD    job number
  2874. --------N-21F217SF80-------------------------
  2875. INT 21 - Novell NetWare - REMOVE JOB FROM QUEUE
  2876.     AX = F217h subfn 80h
  2877.     CX = length of request packet in bytes
  2878.     DX = 0000h (no reply packet)
  2879.     DS:SI -> request packet (see #1870)
  2880.     ES:DI ignored
  2881. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2882. SeeAlso: AH=F2h"Novell",AX=F217h/SF=6Ah,AX=F217h/SF=7Fh
  2883.  
  2884. Format of NetWare "Remove Job From Queue" request packet:
  2885. Offset    Size    Description    (Table 1870)
  2886.  00h    WORD    length of following data
  2887.  02h    BYTE    80h (subfunction "Remove Job From Queue")
  2888.  03h    DWORD    queue ID
  2889.  07h    DWORD    job number (returned when job was added to queue)
  2890. --------N-21F217SF81-------------------------
  2891. INT 21 - Novell NetWare - GET QUEUE JOB LIST
  2892.     AX = F217h subfn 81h
  2893.     CX = length of request buffer in bytes
  2894.     DX = length of reply buffer in bytes
  2895.     DS:SI -> request buffer (see #1871)
  2896.     ES:DI -> reply buffer (see #1872)
  2897. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2898. SeeAlso: AH=F2h"Novell",AX=F217h/SF=6Bh
  2899.  
  2900. Format of NetWare "Get Queue Job List" request packet:
  2901. Offset    Size    Description    (Table 1871)
  2902.  00h    WORD    length of following data
  2903.  02h    BYTE    81h (subfunction "Get Queue Job List")
  2904.  03h    DWORD    queue ID
  2905.  07h    DWORD    address of next job in queue
  2906. SeeAlso: #1872
  2907.  
  2908. Format of NetWare "Get Queue Job List" reply packet:
  2909. Offset    Size    Description    (Table 1872)
  2910.  00h    DWORD    total jobs in queue
  2911.  04h    DWORD    length of job number list (max 125)
  2912.  08h  N DWORDs    list of job numbers in queue
  2913. SeeAlso: #1871
  2914. --------N-21F217SF82-------------------------
  2915. INT 21 - Novell NetWare v2.1+ - CHANGE JOB PRIORITY
  2916.     AX = F217h subfn 82h
  2917.     CX = length of request packet in bytes
  2918.     DX = 0000h (no reply packet)
  2919.     DS:SI -> request packet (see #1873)
  2920.     ES:DI ignored
  2921. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2922. SeeAlso: AH=F2h"Novell"
  2923.  
  2924. Format of NetWare "Change Job Priority" request packet:
  2925. Offset    Size    Description    (Table 1873)
  2926.  00h    WORD    length of following data
  2927.  02h    BYTE    82h (subfunction "Change Job Priority")
  2928.  03h    DWORD    queue ID
  2929.  07h    DWORD    job number
  2930.  0Bh    DWORD    priority
  2931. --------N-21F217SF83-------------------------
  2932. INT 21 - Novell NetWare v3.1+ - FINISH SERVICING QUEUE JOB
  2933.     AX = F217h subfn 83h
  2934.     CX = length of request packet in bytes
  2935.     DX = 0000h (no reply packet)
  2936.     DS:SI -> request packet (see #1651 at AH=E3h/SF=83h)
  2937.     ES:DI ignored
  2938. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2939. SeeAlso: AH=F2h"Novell",AH=E3h/SF=83h,AX=F217h/SF=72h,AX=F217h/SF=84h
  2940. --------N-21F217SF84-------------------------
  2941. INT 21 - Novell NetWare v3.1+ - ABORT SERVICING QUEUE JOB
  2942.     AX = F217h subfn 84h
  2943.     CX = length of request packet in bytes
  2944.     DX = 0000h (no reply packet)
  2945.     DS:SI -> request packet (see #1653 at AH=E3h/SF=84h)
  2946.     ES:DI ignored
  2947. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2948. Desc:    inform the Queue Management System (QMS) that the queue server is
  2949.       unable to service a previously-accepted job
  2950. SeeAlso: AH=F2h"Novell",AH=E3h/SF=84h,AX=F217h/SF=73h,AX=F217h/SF=83h
  2951. --------N-21F217SF85-------------------------
  2952. INT 21 - Novell NetWare v3.1+ - CHANGE TO CLIENT RIGHTS
  2953.     AX = F217h subfn 85h
  2954.     CX = length of request packet in bytes
  2955.     DX = 0000h (no reply packet)
  2956.     DS:SI -> request packet (see #1874)
  2957.     ES:DI ignored
  2958. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2959. Desc:    temporarily assume the login identity of the client submitting the
  2960.       job being serviced
  2961. SeeAlso: AH=F2h"NetWare",AH=E3h/SF=74h,AX=F217h/SF=74h
  2962.  
  2963. Format of NetWare "Change to Client Rights" request packet:
  2964. Offset    Size    Description    (Table 1874)
  2965.  00h    WORD    length of following data
  2966.  02h    BYTE    85h (subfunction "Change to Client Rights")
  2967.  03h    DWORD    queue object ID
  2968.  07h    DWORD    job number
  2969. SeeAlso: #1643
  2970. --------N-21F217SF86-------------------------
  2971. INT 21 - Novell NetWare v3.1+ - READ QUEUE SERVER CURRENT STATUS
  2972.     AX = F217h subfn 86h
  2973.     CX = length of request buffer in bytes
  2974.     DX = length of reply buffer in bytes
  2975.     DS:SI -> request buffer (see #1875)
  2976.     ES:DI -> reply buffer (see #1876)
  2977. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  2978. SeeAlso: AH=F2h"Novell",AX=F217h/SF=76h,AX=F217h/SF=77h,AX=F217h/SF=7Dh
  2979.  
  2980. Format of NetWare "Read Queue Server Current Status" request packet:
  2981. Offset    Size    Description    (Table 1875)
  2982.  00h    WORD    length of following data
  2983.  02h    BYTE    86h (subfunction "Read Queue Server Current Status")
  2984.  03h    DWORD    queue ID
  2985.  07h    DWORD    server ID
  2986.  0Bh    DWORD    connection ID
  2987. SeeAlso: #1876
  2988.  
  2989. Format of NetWare "Read Queue Server Current Status" request packet:
  2990. Offset    Size    Description    (Table 1876)
  2991.  00h 64 BYTEs    server status record
  2992. SeeAlso: #1875
  2993. --------N-21F217SF87-------------------------
  2994. INT 21 - Novell NetWare v3.1+ - GET QUEUE JOB FILE SIZE
  2995.     AX = F217h subfn 87h
  2996.     CX = length of request buffer in bytes
  2997.     DX = length of reply buffer in bytes
  2998.     DS:SI -> request buffer (see #1877)
  2999.     ES:DI -> reply buffer (see #1878)
  3000. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3001. SeeAlso: AH=F2h"Novell",AX=F217h/SF=78h
  3002.  
  3003. Format of NetWare "Get Queue Job File Size" request packet:
  3004. Offset    Size    Description    (Table 1877)
  3005.  00h    WORD    length of following data
  3006.  02h    BYTE    87h (subfunction "Get Queue Job File Size")
  3007.     ???
  3008. SeeAlso: #1878
  3009.  
  3010. Format of NetWare "Get Queue Job File Size" request packet:
  3011. Offset    Size    Description    (Table 1878)
  3012.  00h    ???
  3013. SeeAlso: #1877
  3014. --------N-21F217SF96-------------------------
  3015. INT 21 - Novell NetWare - GET ACCOUNT STATUS
  3016.     AX = F217h subfn 96h
  3017.     CX = length of request buffer in bytes
  3018.     DX = length of reply buffer in bytes
  3019.     DS:SI -> request buffer (see #1656 at AH=E3h/SF=96h)
  3020.     ES:DI -> reply buffer (see #1879)
  3021. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3022. SeeAlso: AH=F2h"Novell",AH=E3h/SF=96h,AX=F217h/SF=97h,AX=F217h/SF=98h
  3023.  
  3024. Format of NetWare "Get Account Status" reply packet:
  3025. Offset    Size    Description    (Table 1879)
  3026.  00h    DWORD    (big-endian) account balance
  3027.  04h    DWORD    (big-endian) credit limit
  3028.         signed number indicating lowest allowable account balance
  3029.  06h 120 BYTEs    reserved
  3030.  80h    DWORD    (big-endian) object ID, server 1
  3031.  84h    DWORD    (big-endian) hold amount, server 1
  3032.     ...
  3033.  F6h    DWORD    (big-endian) object ID, server 16
  3034.  FAh    DWORD    (big-endian) hold amount, server 16
  3035. Note:    the reply buffer lists the servers which have placed holds on a portion
  3036.       of the account balance, and the amount reserved by each
  3037. SeeAlso: #1656,#1657 at AH=E3h/SF=96h
  3038. --------N-21F217SF97-------------------------
  3039. INT 21 - Novell NetWare - SUBMIT ACCOUNT CHARGE
  3040.     AX = F217h subfn 97h
  3041.     CX = length of request packet in bytes
  3042.     DX = 0000h (no reply packet)
  3043.     DS:SI -> request packet (see #1658 at AH=E3h/SF=97h)
  3044.     ES:DI ignored
  3045. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3046. SeeAlso: AH=F2h"Novell",AH=E3h/SF=97h,AX=F217h/SF=96h,AX=F217h/SF=98h
  3047. --------N-21F217SF98-------------------------
  3048. INT 21 - Novell NetWare - SUBMIT ACCOUNT HOLD
  3049.     AX = F217h subfn 98h
  3050.     CX = length of request packet in bytes
  3051.     DX = 0000h (no reply packet)
  3052.     DS:SI -> request packet (see #1659 at AH=E3h/SF=98h)
  3053.     ES:DI ignored
  3054. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3055. SeeAlso: AH=F2h"Novell",AH=E3h/SF=98h,AX=F217h/SF=97h,AX=F217h/SF=99h
  3056. --------N-21F217SF99-------------------------
  3057. INT 21 - Novell NetWare - SUBMIT ACCOUNT NOTE
  3058.     AX = F217h subfn 99h
  3059.     CX = length of request packet in bytes
  3060.     DX = 0000h (no reply packet)
  3061.     DS:SI -> request packet (see #1661 at AH=E3h/SF=99h)
  3062.     ES:DI ignored
  3063. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3064. SeeAlso: AH=F2h"Novell",AH=E3h/SF=99h,AX=F217h/SF=96h,AX=F217h/SF=98h
  3065. --------N-21F217SFC8-------------------------
  3066. INT 21 - Novell NetWare - CHECK CONSOLE PRIVILEGES
  3067.     AX = F217h subfn C8h
  3068.     CX = length of request packet in bytes
  3069.     DX = 0000h (no reply packet)
  3070.     DS:SI -> request packet (see #1662 at AH=E3h/SF=C8h)
  3071.     ES:DI ignored
  3072. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3073. SeeAlso: AH=F2h"Novell",AH=E3h/SF=C8h,AX=F217h/SF=C9h,AX=F217h/SF=D1h
  3074. --------N-21F217SFC9-------------------------
  3075. INT 21 - Novell NetWare - GET FILE SERVER DESCRIPTION STRINGS
  3076.     AX = F217h subfn C9h
  3077.     CX = length of request buffer in bytes
  3078.     DX = length of reply buffer in bytes
  3079.     DS:SI -> request buffer (see #1663 at AH=E3h/SF=C9h)
  3080.     ES:DI -> reply buffer (see #1880)
  3081. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3082. SeeAlso: AH=F2h"Novell",AH=E3h/SF=C9h,AX=F217h/SF=C8h,AX=F217h/SF=CAh
  3083.  
  3084. Format of NetWare "Get File Server Description Strings" reply packet:
  3085. Offset    Size    Description    (Table 1880)
  3086.  00h    var    ASCIZ name of company distributing this copy of NetWare
  3087.     var    ASCIZ version and revision
  3088.       9 BYTEs    ASCIZ revision date (mm/dd/yy)
  3089.     var    ASCIZ copyright notice
  3090. SeeAlso: #1663,#1664 at AH=E3h/SF=C9h
  3091. --------N-21F217SFCA-------------------------
  3092. INT 21 - Novell NetWare - SET FILE SERVER DATE AND TIME
  3093.     AX = F217h subfn CAh
  3094.     CX = length of request packet in bytes
  3095.     DX = 0000h (no reply packet)
  3096.     DS:SI -> request packet (see #1666 at AH=E3h/SF=CAh)
  3097.     ES:DI ignored
  3098. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3099. SeeAlso: AH=F2h"Novell",AH=E3h/SF=CAh,AX=F217h/SF=C8h,AX=F217h/SF=CBh
  3100. --------N-21F217SFCB-------------------------
  3101. INT 21 - Novell NetWare - DISABLE FILE SERVER LOGIN
  3102.     AX = F217h subfn CBh
  3103.     CX = length of request packet in bytes
  3104.     DX = 0000h (no reply packet)
  3105.     DS:SI -> request packet (see #1667 at AH=E3h/SF=CBh)
  3106.     ES:DI ignored
  3107. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3108. SeeAlso: AH=F2h"Novell",AH=E3h/SF=CBh,AX=F217h/SF=C8h,AX=F217h/SF=CCh
  3109. --------N-21F217SFCC-------------------------
  3110. INT 21 - Novell NetWare - ENABLE FILE SERVER LOGIN
  3111.     AX = F217h subfn CCh
  3112.     CX = length of request packet in bytes
  3113.     DX = 0000h (no reply packet)
  3114.     DS:SI -> request packet (see #1669 at AH=E3h/SF=CCh)
  3115.     ES:DI ignored
  3116. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3117. SeeAlso: AH=F2h"Novell",AH=E3h/SF=CCh,AX=F217h/SF=C8h,AX=F217h/SF=CBh
  3118. --------N-21F217SFCD-------------------------
  3119. INT 21 - Novell NetWare - GET FILE SERVER LOGIN STATUS
  3120.     AX = F217h subfn CDh
  3121.     CX = length of request buffer in bytes
  3122.     DX = length of reply buffer in bytes
  3123.     DS:SI -> request buffer (see #1670 at AH=E3h/SF=CDh)
  3124.     ES:DI -> reply buffer (see #1881)
  3125. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3126. SeeAlso: AH=F2h"Novell",AH=E3h/SF=CDh,AX=F217h/SF=CBh,AX=F217h/SF=CCh
  3127.  
  3128. Format of NetWare "Get File Server Login Status" reply packet:
  3129. Offset    Size    Description    (Table 1881)
  3130.  00h    BYTE    login state (00h disabled, 01h enabled)
  3131. SeeAlso: #1670,#1671 at AH=E3h/SF=CDh
  3132. --------N-21F217SFCE-------------------------
  3133. INT 21 - Novell NetWare - PURGE ALL ERASED FILES
  3134.     AX = F217h subfn CEh
  3135.     CX = length of request packet in bytes
  3136.     DX = 0000h (no reply packet)
  3137.     DS:SI -> request packet (see #1672 at AH=E3h/SF=CEh)
  3138.     ES:DI ignored
  3139. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3140. SeeAlso: AH=F2h"Novell",AH=E3h/SF=CEh,AX=F244h
  3141. --------N-21F217SFCF-------------------------
  3142. INT 21 - Novell NetWare - DISABLE TRANSACTION TRACKING
  3143.     AX = F217h subfn CFh
  3144.     CX = length of request packet in bytes
  3145.     DX = 0000h (no reply packet)
  3146.     DS:SI -> request packet (see #1673 at AH=E3h/SF=CFh)
  3147.     ES:DI ignored
  3148. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3149. SeeAlso: AH=F2h"Novell",AH=E3h/SF=CFh,AX=F217h/SF=D0h
  3150. --------N-21F217SFD0-------------------------
  3151. INT 21 - Novell NetWare - ENABLE TRANSACTION TRACKING
  3152.     AX = F217h subfn D0h
  3153.     CX = length of request packet in bytes
  3154.     DX = 0000h (no reply packet)
  3155.     DS:SI -> request packet (see #1675 at AH=E3h/SF=D0h)
  3156.     ES:DI ignored
  3157. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3158. SeeAlso: AH=F2h"Novell",AH=E3h/SF=D0h,AX=F217h/SF=CFh
  3159. --------N-21F217SFD1-------------------------
  3160. INT 21 - Novell NetWare - SEND CONSOLE BROADCAST
  3161.     AX = F217h subfn D1h
  3162.     CX = length of request packet in bytes
  3163.     DX = 0000h (no reply packet)
  3164.     DS:SI -> request packet (see #1676 at AH=E3h/SF=D1h)
  3165.     ES:DI ignored
  3166. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3167. SeeAlso: AH=F2h"Novell",AH=E3h/SF=D1h,AX=F217h/SF=D2h
  3168. --------N-21F217SFD2-------------------------
  3169. INT 21 - Novell NetWare v3+ - CLEAR CONNECTION NUMBER (LOGOUT STATION)
  3170.     AX = F217h subfn D2h
  3171.     CX = length of request packet in bytes
  3172.     DX = 0000h (no reply packet)
  3173.     DS:SI -> request packet (see #1677 at AH=E3h/SF=D2h)
  3174.     ES:DI ignored
  3175. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3176.     reply buffer filled
  3177. SeeAlso: AH=F2h"Novell",AH=E3h/SF=D2h,AX=F217h/SF=D1h,AX=F217h/SF=FEh
  3178. --------N-21F217SFD3-------------------------
  3179. INT 21 - Novell NetWare - DOWN FILE SERVER
  3180.     AX = F217h subfn D3h
  3181.     CX = length of request packet in bytes
  3182.     DX = 0000h (no reply packet)
  3183.     DS:SI -> request packet (see #1680 at AH=E3h/SF=D3h)
  3184.     ES:DI ignored
  3185. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3186. SeeAlso: AH=F2h"Novell",AH=E3h/SF=D3h,AX=F217h/SF=D2h
  3187. --------N-21F217SFD4-------------------------
  3188. INT 21 - Novell NetWare - GET FILE SYSTEM STATISTICS
  3189.     AX = F217h subfn D4h
  3190.     CX = length of request buffer in bytes
  3191.     DX = length of reply buffer in bytes
  3192.     DS:SI -> request buffer (see #1681 at AH=E3h/SF=D4h)
  3193.     ES:DI -> reply buffer (see #1882)
  3194. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3195. SeeAlso: AH=F2h"Novell",AH=E3h/SF=D4h,AX=F217h/SF=D6h,AX=F217h/SF=D9h
  3196.  
  3197. Format of NetWare "Get File System Statistics" reply packet:
  3198. Offset    Size    Description    (Table 1882)
  3199.  00h    DWORD    clock ticks since system started
  3200.  04h    WORD    maximum open files set by configuration
  3201.  06h    WORD    maximum files open concurrently
  3202.  08h    WORD    current number of open files
  3203.  0Ah    DWORD    total files opened
  3204.  0Eh    DWORD    total file read requests
  3205.  12h    DWORD    total file write requests
  3206.  16h    WORD    current changed FATs
  3207.  18h    WORD    total changed FATs
  3208.  1Ah    WORD    number of FAT write errors
  3209.  1Ch    WORD    number of fatal FAT write errors
  3210.  1Eh    WORD    number of FAT scan errors
  3211.  20h    WORD    maximum concurrently-indexed files
  3212.  22h    WORD    current number of indexed files
  3213.  24h    WORD    number of attached indexed files
  3214.  26h    WORD    number of indexed files available
  3215. Note:    all fields are big-endian
  3216. SeeAlso: #1681,#1682 at AH=E3h/SF=D4h
  3217. --------N-21F217SFD5-------------------------
  3218. INT 21 - Novell NetWare - GET TRANSACTION TRACKING STATISTICS
  3219.     AX = F217h subfn D5h
  3220.     CX = length of request buffer in bytes
  3221.     DX = length of reply buffer in bytes
  3222.     DS:SI -> request buffer (see #1683 at AH=E3h/SF=D5h)
  3223.     ES:DI -> reply buffer (see #1883)
  3224. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3225. SeeAlso: AH=F2h"Novell",AH=E3h/SF=D5h,AX=F217h/SF=D0h
  3226.  
  3227. Format of NetWare "Get Transaction Tracking Statistics" reply packet:
  3228. Offset    Size    Description    (Table 1883)
  3229.  00h    DWORD    (big-endian) clock ticks since system started
  3230.  04h    BYTE    transaction tracking supported if nonzero
  3231.         (all following fields are invalid if zero)
  3232.  05h    BYTE    transaction tracking enabled
  3233.  06h    WORD    (big-endian) transaction volume number
  3234.  08h    WORD    (big-endian) maximum simultaneous transactions configured
  3235.  0Ah    WORD    (big-endian) maximum simultaneous transactions since startup
  3236.  0Ch    WORD    (big-endian) current transactions in progress
  3237.  0Eh    DWORD    (big-endian) total transactions performed
  3238.  12h    DWORD    (big-endian) total write transactions
  3239.  16h    DWORD    (big-endian) total transactions backed out
  3240.  1Ah    WORD    (big-endian) number of unfilled backout requests
  3241.  1Ch    WORD    (big-endian) disk blocks used for transaction tracking
  3242.  1Eh    DWORD    (big-endian) blocks allocated for tracked-file FATs
  3243.  22h    DWORD    (big-endian) number of file size changes during a transaction
  3244.  26h    DWORD    (big-endian) number of file truncations during a transaction
  3245.  2Ah    BYTE    number of records following
  3246.  2Bh    Active Transaction Records [array]
  3247.     Offset    Size    Description
  3248.      00h    BYTE    logical connection number
  3249.      01h    BYTE    task number
  3250. SeeAlso: #1683,#1684 at AH=E3h/SF=D5h
  3251. --------N-21F217SFD6-------------------------
  3252. INT 21 - Novell NetWare - GET DISK CACHE STATISTICS
  3253.     AX = F217h subfn D6h
  3254.     CX = length of request buffer in bytes
  3255.     DX = length of reply buffer in bytes
  3256.     DS:SI -> request buffer (see #1685 at AH=E3h/SF=D6h)
  3257.     ES:DI -> reply buffer (see #1884)
  3258. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3259. SeeAlso: AH=F2h"Novell",AH=E3h/SF=D6h,AX=F217h/SF=D5h,AX=F217h/SF=D8h
  3260.  
  3261. Format of NetWare "Get Disk Cache Statistics" reply packet:
  3262. Offset    Size    Description    (Table 1884)
  3263.  00h    DWORD    clock ticks since system started
  3264.  04h    WORD    number of cache buffers
  3265.  06h    WORD    size of cache buffer in bytes
  3266.  08h    WORD    number of dirty cache buffers
  3267.  0Ah    DWORD    number of cache read requests
  3268.  0Eh    DWORD    number of cache write requests
  3269.  12h    DWORD    number of cache hits
  3270.  16h    DWORD    number of cache misses
  3271.  1Ah    DWORD    number of physical read requests
  3272.  1Eh    DWORD    number of physical write requests
  3273.  22h    WORD    number of physical read errors
  3274.  24h    WORD    number of physical write errors
  3275.  26h    DWORD    cache get requests
  3276.  2Ah    DWORD    cache full write requests
  3277.  2Eh    DWORD    cache partial write requests
  3278.  32h    DWORD    background dirty writes
  3279.  36h    DWORD    background aged writes
  3280.  3Ah    DWORD    total cache writes
  3281.  3Eh    DWORD    number of cache allocations
  3282.  42h    WORD    thrashing count
  3283.  44h    WORD    number of times LRU block was dirty
  3284.  46h    WORD    number of reads on cache blocks not yet filled by writes
  3285.  48h    WORD    number of times a fragmented write occurred
  3286.  4Ah    WORD    number of cache hits on unavailable block
  3287.  4Ch    WORD    number of times a cache block was scrapped
  3288. Note:    all fields are big-endian
  3289. SeeAlso: #1685,#1686 at AH=E3h/SF=D6h
  3290. --------N-21F217SFD7-------------------------
  3291. INT 21 - Novell NetWare - GET DRIVE MAPPING TABLE
  3292.     AX = F217h subfn D7h
  3293.     CX = length of request buffer in bytes
  3294.     DX = length of reply buffer in bytes
  3295.     DS:SI -> request buffer (see #1687 at AH=E3h/SF=D7h)
  3296.     ES:DI -> reply buffer (see #1885)
  3297. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3298. SeeAlso: AX=EF00h,AX=EF01h,AX=EF02h,AH=F2h"Novell",AH=E3h/SF=D7h
  3299.  
  3300. Format of NetWare "Get Drive Mapping Table" reply packet:
  3301. Offset    Size    Description    (Table 1885)
  3302.  00h    DWORD    (big-endian) clock tick elapsed since system started
  3303.  04h    BYTE    fault tolerance (SFT) level
  3304.  05h    BYTE    number of logical drives attached to server
  3305.  06h    BYTE    number of physical drives attached to server
  3306.  07h  5 BYTEs    disk channel types (00h none, 01h XT, 02h AT, 03h SCSI,
  3307.           04h disk coprocessor drive, 32h-FFh value-added drive types)
  3308.  0Ch    WORD    (big-endian) number of outstanding controller commands
  3309.  0Eh 32 BYTEs    drive mapping table (FFh = no such drive)
  3310.  2Eh 32 BYTEs    drive mirror table (secondary physical drive, FFh = none)
  3311.  4Eh 32 BYTEs    dead mirror table (last drive mapped to, FFh if never mirrored)
  3312.  6Eh    BYTE    physical drive being remirrored (FFh = none)
  3313.  6Fh    BYTE    reserved
  3314.  70h    DWORD    (big-endian) remirrored block
  3315.  74h 60 BYTEs    SFT error table (internal error counters)
  3316. SeeAlso: #1687,#1688 at AH=E3h/SF=D7h
  3317. --------N-21F217SFD8-------------------------
  3318. INT 21 - Novell NetWare - GET PHYSICAL DISK STATISTICS
  3319.     AX = F217h subfn D8h
  3320.     CX = length of request buffer in bytes
  3321.     DX = length of reply buffer in bytes
  3322.     DS:SI -> request buffer (see #1689 at AH=E3h/SF=D8h)
  3323.     ES:DI -> reply buffer (see #1886)
  3324. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3325. SeeAlso: AH=F2h"Novell",AH=E3h/SF=D8h,AX=F217h/SF=D9h
  3326.  
  3327. Format of NetWare "Get Physical Disk Statistics" request packet:
  3328. Offset    Size    Description    (Table 1886)
  3329.  00h    DWORD    (big-endian) clock ticks since system started
  3330.  04h    BYTE    physical disk channel
  3331.  05h    BYTE    flag: drive removable if nonzero
  3332.  06h    BYTE    physical drive type
  3333.  07h    BYTE    drive number within controller
  3334.  08h    BYTE    controller number
  3335.  09h    BYTE    controller type
  3336.  0Ah    DWORD    (big-endian) size of drive in 4K disk blocks
  3337.  0Eh    WORD    (big-endian) number of cylinders on drive
  3338.  10h    BYTE    number of heads
  3339.  11h    BYTE    number of sectors per track
  3340.  12h 64 BYTEs    ASCIZ drive make and model
  3341.  52h    WORD    (big-endian) number of I/O errors
  3342.  56h    DWORD    (big-endian) start of Hot Fix table
  3343.  58h    WORD    (big-endian) size of Hot Fix table
  3344.  5Ah    WORD    (big-endian) number of Hot Fix blocks available
  3345.  5Ch    BYTE    flag: Hot Fix disabled if nonzero
  3346. SeeAlso: #1689,#1690 at AH=E3h/SF=D8h
  3347. --------N-21F217SFD9-------------------------
  3348. INT 21 - Novell NetWare - GET DISK CHANNEL STATISTICS
  3349.     AX = F217h subfn D9h
  3350.     CX = length of request buffer in bytes
  3351.     DX = length of reply buffer in bytes
  3352.     DS:SI -> request buffer (see #1691 at AH=E3h/SF=D9h)
  3353.     ES:DI -> reply buffer (see #1887)
  3354. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3355. SeeAlso: AH=F2h"Novell",AH=E3h/SF=D9h,AX=F217h/SF=D8h
  3356.  
  3357. Format of NetWare "Get Disk Channel Statistics" reply packet:
  3358. Offset    Size    Description    (Table 1887)
  3359.  00h    DWORD    (big-endian) clock ticks since system started
  3360.  04h    WORD    (big-endian) channel run state (see #1693)
  3361.  06h    WORD    (big-endian) channel synchronization state (see #1694)
  3362.  08h    BYTE    driver type
  3363.  09h    BYTE    major version of driver
  3364.  0Ah    BYTE    minor version of driver
  3365.  0Bh 65 BYTEs    ASCIZ driver description
  3366.  4Ch    WORD    (big-endian) first I/O address used
  3367.  4Eh    WORD    (big-endian) length of first I/O address
  3368.  50h    WORD    (big-endian) second I/O address used
  3369.  52h    WORD    (big-endian) length of second I/O address
  3370.  54h  3 BYTEs    first shared memory address
  3371.  57h  2 BYTEs    length of first shared memory address
  3372.  59h  3 BYTEs    second shared memory address
  3373.  5Ch  2 BYTEs    length of second shared memory address
  3374.  5Eh    BYTE    first interrupt number in-use flag
  3375.  5Fh    BYTE    first interrupt number used
  3376.  60h    BYTE    second interrupt number in-use flag
  3377.  61h    BYTE    second interrupt number used
  3378.  62h    BYTE    first DMA channel in-use flag
  3379.  63h    BYTE    first DMA channel used
  3380.  64h    BYTE    second DMA channel in-use flag
  3381.  65h    BYTE    second DMA channel used
  3382.  66h    BYTE    flags
  3383.  67h    BYTE    reserved
  3384.  68h 80 BYTEs    ASCIZ configuration description
  3385. SeeAlso: #1691,#1692 at AH=E3h/SF=D9h
  3386. --------N-21F217SFDA-------------------------
  3387. INT 21 - Novell NetWare v2.2+ - GET CONNECTION'S TASK INFORMATION
  3388.     AX = F217h subfn DAh
  3389.     CX = length of request buffer in bytes
  3390.     DX = length of reply buffer in bytes
  3391.     DS:SI -> request buffer (see #1695 at AH=E3h/SF=DAh)
  3392.     ES:DI -> reply buffer (see #1888)
  3393. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3394. SeeAlso: AH=F2h"Novell",AH=E3h/SF=DAh,AX=F217h/SF=EAh
  3395.  
  3396. Format of NetWare "Get Connection's Task Information" reply packet:
  3397. Offset    Size    Description    (Table 1888)
  3398.  00h    BYTE    lock status of connection (see #1697)
  3399.  01h    var    Lock Status Information (see #1698)
  3400.  N    BYTE    number of records following
  3401.  N+1    Active Task Information Records [array]
  3402.     Offset    Size    Description
  3403.      00h    BYTE    task number (01h-FFh)
  3404.      01h    BYTE    task state
  3405.             00h normal task
  3406.             01h in TTS explicit transaction
  3407.             02h in TTS implicit transaction
  3408.             04h shared fileset lock active
  3409. SeeAlso: #1903,#1695,#1696 at AH=E3h/SF=DAh
  3410. --------N-21F217SFDB-------------------------
  3411. INT 21 - Novell NetWare v2.2+ - GET CONNECTION'S OPEN FILES (OLD)
  3412.     AX = F217h subfn DBh
  3413.     CX = length of request buffer in bytes
  3414.     DX = length of reply buffer in bytes
  3415.     DS:SI -> request buffer (see #1699 at AH=E3h/SF=DBh)
  3416.     ES:DI -> reply buffer (see #1889)
  3417. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3418. SeeAlso: AH=F2h"Novell",AH=E3h/SF=DBh,AX=F217h/SF=EBh
  3419.  
  3420. Format of NetWare "Get Connection's Open Files (old)" reply packet:
  3421. Offset    Size    Description    (Table 1889)
  3422.  00h    WORD    next request record (place in "last record" field on next call)
  3423.         0000h if no more records
  3424.  02h    BYTE    number of records following
  3425.  03h    var    array of File Information Records (see #1701 at AH=E3h/SF=DBh)
  3426. SeeAlso: #1699,#1700 at AH=E3h/SF=DBh
  3427. --------N-21F217SFDC-------------------------
  3428. INT 21 - Novell NetWare v2.2+ - GET CONNECTIONS USING A FILE (OLD)
  3429.     AX = F217h subfn DCh
  3430.     CX = length of request buffer in bytes
  3431.     DX = length of reply buffer in bytes
  3432.     DS:SI -> request buffer (see #1704 at AH=E3h/SF=DCh)
  3433.     ES:DI -> reply buffer (see #1890)
  3434. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3435. SeeAlso: AH=F2h"Novell",AH=E3h/SF=DCh,AX=F217h/SF=ECh
  3436.  
  3437. Format of NetWare "Get Connections Using A File (old)" reply packet:
  3438. Offset    Size    Description    (Table 1890)
  3439.  00h    WORD    (big-endian) count of tasks which have opened or logged file
  3440.  02h    WORD    (big-endian) count of tasks which have opened file
  3441.  04h    WORD    (big-endian) count of opens for reading
  3442.  06h    WORD    (big-endian) count of opens for writing
  3443.  08h    WORD    (big-endian) deny read count
  3444.  0Ah    WORD    (big-endian) deny write count
  3445.  0Ch    WORD    next request record (place in "last record" field on next call)
  3446.         0000h if no more records
  3447.  0Eh    BYTE    locked flag
  3448.         00h not locked exclusively
  3449.         else locked exclusively
  3450.  0Fh    BYTE    number of records following
  3451.  10h    var    array of File Usage Information Records
  3452.           (see #1706 at AH=E3h/SF=DCh)
  3453. SeeAlso: #1704,#1705 at AH=E3h/SF=DCh
  3454. --------N-21F217SFDD-------------------------
  3455. INT 21 - Novell NetWare - GET PHYSICAL RECORD LOCKS BY CONNECTN AND FILE (OLD)
  3456.     AX = F217h subfn DDh
  3457.     CX = length of request buffer in bytes
  3458.     DX = length of reply buffer in bytes
  3459.     DS:SI -> request buffer (see #1708 at AH=E3h/SF=DDh)
  3460.     ES:DI -> reply buffer (see #1891)
  3461. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3462. SeeAlso: AH=F2h"Novell",AH=E3h/SF=DDh,AX=F217h/SF=DEh,AX=F217h/SF=EDh
  3463.  
  3464. Format of NetWare "Get Phys Record Locks By Conn & File (old)" reply packet:
  3465. Offset    Size    Description    (Table 1891)
  3466.  00h    WORD    next request record (place in "last record" on next call)
  3467.         0000h if no more records
  3468.  02h    BYTE    number of physical record locks
  3469.  03h    BYTE    number of records following
  3470.  04h    var    array of Physical Record Lock Info records
  3471.           (see #1710 at AH=E3h/SF=DDh)
  3472. SeeAlso: #1708,#1709 at AH=E3h/SF=DDh
  3473. --------N-21F217SFDE-------------------------
  3474. INT 21 - Novell NetWare - GET PHYSICAL RECORD LOCKS BY FILE (OLD)
  3475.     AX = F217h subfn DEh
  3476.     CX = length of request buffer in bytes
  3477.     DX = length of reply buffer in bytes
  3478.     DS:SI -> request buffer (see #1712 at AH=E3h/SF=DEh)
  3479.     ES:DI -> reply buffer (see #1892)
  3480. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3481. SeeAlso: AH=F2h"Novell",AH=E3h/SF=DEh,AX=F217h/SF=EEh
  3482.  
  3483. Format of NetWare "Get Physical Record Locks By File (old)" reply packet:
  3484. Offset    Size    Description    (Table 1892)
  3485.  00h    WORD    next request record (place in "last record" on next call)
  3486.         0000h if no more records
  3487.  02h    BYTE    number of physical record locks
  3488.  03h    BYTE    number of records following
  3489.  04h    var    array of Physical Record Lock Info records (see #1714)
  3490. SeeAlso: #1712,#1713 at AH=E3h/SF=DEh
  3491. --------N-21F217SFDF-------------------------
  3492. INT 21 - Novell NetWare - GET LOGICAL RECORDS BY CONNECTION (OLD)
  3493.     AX = F217h subfn DFh
  3494.     CX = length of request buffer in bytes
  3495.     DX = length of reply buffer in bytes
  3496.     DS:SI -> request buffer (see #1715 at AH=E3h/SF=DFh)
  3497.     ES:DI -> reply buffer (see #1893)
  3498. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3499. SeeAlso: AH=F2h"Novell",AH=E3h/SF=DFh,AX=F217h/SF=EFh
  3500.  
  3501. Format of NetWare "Get Logical Records By Connection (old)" reply packet:
  3502. Offset    Size    Description    (Table 1893)
  3503.  00h    WORD    next request record (place in "last record" field on next call)
  3504.         0000h if no more locked records
  3505.  02h    BYTE    number of records following
  3506.  03h    var    array of Logical Lock Information Records
  3507.           (see #1717 at AH=E3h/SF=DFh)
  3508. SeeAlso: #1715,#1716 at AH=E3h/SF=DFh
  3509. --------N-21F217SFE0-------------------------
  3510. INT 21 - Novell NetWare - GET LOGICAL RECORD INFORMATION (OLD)
  3511.     AX = F217h subfn E0h
  3512.     CX = length of request buffer in bytes
  3513.     DX = length of reply buffer in bytes
  3514.     DS:SI -> request buffer (see #1718 at AH=E3h/SF=E0h)
  3515.     ES:DI -> reply buffer (see #1894)
  3516. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3517. SeeAlso: AH=F2h"Novell",AH=E3h/SF=E0h,AX=F217h/SF=F0h
  3518.  
  3519. Format of NetWare "Get Logical Record Information (Old)" reply packet:
  3520. Offset    Size    Description    (Table 1894)
  3521.  00h    WORD    (big-endian) number of logical connections logging the record
  3522.  02h    WORD    (big-endian) number of logical connections with shareable lock
  3523.  04h    WORD    (big-endian) next request record (place in "last record" field
  3524.           on next call)
  3525.  06h    BYTE    locked exclusively if nonzero
  3526.  07h    BYTE    number of records following
  3527.  08h    var    array of Task Information Records (see #1720 at AH=E3h/SF=E0h)
  3528. SeeAlso: #1718,#1719 at AH=E3h/SF=E0h
  3529. --------N-21F217SFE1-------------------------
  3530. INT 21 - Novell NetWare - GET CONNECTION'S SEMAPHORES (OLD)
  3531.     AX = F217h subfn E1h
  3532.     CX = length of request buffer in bytes
  3533.     DX = length of reply buffer in bytes
  3534.     DS:SI -> request buffer (see #1721 at AH=E3h/SF=E1h)
  3535.     ES:DI -> reply buffer (see #1895)
  3536. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3537. SeeAlso: AH=F2h"Novell",AH=E3h/SF=E1h,AX=F217h/SF=F1h
  3538.  
  3539. Format of NetWare "Get Connection's Semaphores (old)" reply packet:
  3540. Offset    Size    Description    (Table 1895)
  3541.  00h    WORD    next request record (place in "last record" field on next call)
  3542.  02h    BYTE    number of records following
  3543.  03h    var    array of Semaphore Information Records
  3544.           (see #1723 at AH=E3h/SF=E1h)
  3545. SeeAlso: #1721,#1722 at AH=E3h/SF=E1h
  3546. --------N-21F217SFE2-------------------------
  3547. INT 21 - Novell NetWare - GET SEMAPHORE INFORMATION (OLD)
  3548.     AX = F217h subfn E2h
  3549.     CX = length of request buffer in bytes
  3550.     DX = length of reply buffer in bytes
  3551.     DS:SI -> request buffer (see #1724 at AH=E3h/SF=E2h)
  3552.     ES:DI -> reply buffer (see #1896)
  3553. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3554. SeeAlso: AH=F2h"Novell",AH=E3h/SF=E2h,AX=F217h/SF=F2h
  3555.  
  3556. Format of NetWare "Get Semaphore Information (old)" reply packet:
  3557. Offset    Size    Description    (Table 1896)
  3558.  00h    WORD    next request record (place in "last record" on next call)
  3559.         0000h if no more
  3560.  02h    WORD    (big-endian) number of logical connections opening semaphore
  3561.  04h    BYTE    semaphore value (-127 to 128)
  3562.  05h    BYTE    number of records following
  3563.  06h    var    array of Semaphore Information records (see #1726)
  3564. SeeAlso: #1724,#1725 at AH=E3h/SF=E2h
  3565. --------N-21F217SFE3-------------------------
  3566. INT 21 - Novell NetWare - GET LAN DRIVER'S CONFIGURATION INFORMATION
  3567.     AX = F217h subfn E3h
  3568.     CX = length of request buffer in bytes
  3569.     DX = length of reply buffer in bytes
  3570.     DS:SI -> request buffer (see #1727 at AH=E3h/SF=E3h)
  3571.     ES:DI -> reply buffer (see #1897)
  3572. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3573. SeeAlso: AH=F2h"Novell",AH=E3h/SF=E3h,AX=F217h/SF=E7h,AX=F217h/SF=E8h
  3574.  
  3575. Format of NetWare "Get Lan Driver's Configuration Information" reply packet:
  3576. Offset    Size    Description    (Table 1897)
  3577.  00h  4 BYTEs    network number
  3578.  04h  6 BYTEs    node number
  3579.  0Ah    BYTE    LAN driver installed (00h no--remaining fields invalid)
  3580.  0Bh    BYTE    option number selected at configuration time
  3581.  0Ch 160 BYTEs    configuration text
  3582.         ASCIZ hardware type
  3583.         ASCIZ hardware settings
  3584. SeeAlso: #1727,#1728 at AH=E3h/SF=E3h
  3585. --------N-21F217SFE5-------------------------
  3586. INT 21 - Novell NetWare - GET CONNECTION'S USAGE STATISTICS
  3587.     AX = F217h subfn E5h
  3588.     CX = length of request buffer in bytes
  3589.     DX = length of reply buffer in bytes
  3590.     DS:SI -> request buffer (see #1730 at AH=E3h/SF=E5h)
  3591.     ES:DI -> reply buffer (see #1898)
  3592. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3593. SeeAlso: AH=F2h"Novell",AH=E3h/SF=E5h,AX=F217h/SF=EAh
  3594.  
  3595. Format of NetWare "Get Connection's Usage Statistics" reply packet:
  3596. Offset    Size    Description    (Table 1898)
  3597.  00h    DWORD    (big-endian) clock ticks since server started
  3598.  04h  6 BYTEs    bytes read
  3599.  0Ah  6 BYTEs    bytes written
  3600.  10h    DWORD    (big-endian) total request packets
  3601. SeeAlso: #1730,#1731 at AH=E3h/SF=E5h
  3602. --------N-21F217SFE6-------------------------
  3603. INT 21 - Novell NetWare - GET OBJECT'S REMAINING DISK SPACE
  3604.     AX = F217h subfn E6h
  3605.     CX = length of request buffer in bytes
  3606.     DX = length of reply buffer in bytes
  3607.     DS:SI -> request buffer (see #1732 at AH=E3h/SF=E6h)
  3608.     ES:DI -> reply buffer (see #1899)
  3609. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3610. SeeAlso: AH=F2h"Novell",AH=E3h/SF=E6h,AX=F216h/SF=20h,AX=F216h/SF=23h
  3611.  
  3612. Format of NetWare "Get Object's Remaining Disk Space" reply packet:
  3613. Offset    Size    Description    (Table 1899)
  3614.  00h    DWORD    (big-endian) clock ticks elapsed since server started
  3615.  04h    DWORD    (big-endian) object ID
  3616.  08h    DWORD    (big-endian) 4K disk blocks available to user
  3617.  0Ch    BYTE    restrictions (00h enforced, FFh not enforced)
  3618. SeeAlso: #1732,#1733 at AH=E3h/SF=E6h
  3619. --------N-21F217SFE7-------------------------
  3620. INT 21 - Novell NetWare - GET FILE SERVER LAN I/O STATISTICS
  3621.     AX = F217h subfn E7h
  3622.     CX = length of request buffer in bytes
  3623.     DX = length of reply buffer in bytes
  3624.     DS:SI -> request buffer (see #1734 at AH=E3h/SF=E7h)
  3625.     ES:DI -> reply buffer (see #1900)
  3626. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3627. SeeAlso: AH=F2h"Novell",AH=E3h/SF=E7h,AX=F217h/SF=11h,AX=F217h/SF=F5h
  3628.  
  3629. Format of NetWare "Get File Server Lan I/O Statistics" reply packet:
  3630. Offset    Size    Description    (Table 1900)
  3631.  00h    DWORD    clock ticks since system started
  3632.  04h    WORD    total routing buffers
  3633.  06h    WORD    maximum routing buffers used
  3634.  08h    WORD    current routing buffers used
  3635.  0Ah    DWORD    total file service packets
  3636.  0Eh    WORD    number of file service packets buffered
  3637.  10h    WORD    number of invalid connection packets
  3638.  12h    WORD    packets with bad logical connection numbers
  3639.  14h    WORD    number of packets received during processing
  3640.  16h    WORD    number of requests reprocessed
  3641.  18h    WORD    packets with bad sequence numbers
  3642.  1Ah    WORD    number of duplicate replies sent
  3643.  1Ch    WORD    number of acknowledgements sent
  3644.  1Eh    WORD    number of packets with bad request types
  3645.  20h    WORD    requests to attach to ws for which a request is being processed
  3646.  22h    WORD    requests to attach from ws which is already attaching
  3647.  24h    WORD    number of forged detach requests
  3648.  26h    WORD    detach requests with bad connection number
  3649.  28h    WORD    requests to detach from ws for which requests pending
  3650.  2Ah    WORD    number of cancelled replies
  3651.  2Ch    WORD    packets discarded due to excessive hop count
  3652.  2Eh    WORD    packets discarded due to unknown net
  3653.  30h    WORD    incoming packets discarded for lack of DGroup buffer
  3654.  32h    WORD    outgoing packets discarded due to lack of buffer
  3655.  34h    WORD    received packets destined for B,C, or D side drivers
  3656.  36h    DWORD    number of NetBIOS packets propagated through net
  3657.  3Ah    DWORD    total number of non-file-service packets
  3658.  3Eh    DWORD    total number of routed packets
  3659. Note:    all fields are big-endian
  3660. SeeAlso: #1734,#1735 at AH=E3h/SF=E7h
  3661. --------N-21F217SFE8-------------------------
  3662. INT 21 - Novell NetWare - GET FILE SERVER MISC INFORMATION
  3663.     AX = F217h subfn E8h
  3664.     CX = length of request buffer in bytes
  3665.     DX = length of reply buffer in bytes
  3666.     DS:SI -> request buffer (see #1736 at AH=E3h/SF=E8h)
  3667.     ES:DI -> reply buffer (see #1901)
  3668. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3669. SeeAlso: AH=F2h"Novell",AH=E3h/SF=E8h,AX=F217h/SF=11h,AX=F217h/SF=F5h
  3670.  
  3671. Format of NetWare "Get File Server Misc Information" reply packet:
  3672. Offset    Size    Description    (Table 1901)
  3673.  00h    DWORD    (big-endian) clock ticks since system started
  3674.  04h    BYTE    CPU type
  3675.         00h Motorola 68000
  3676.         01h Intel 8086, 8088, or V20
  3677.         02h Intel 80286+
  3678.  05h    BYTE    reserved
  3679.  06h    BYTE    number of service processes in server
  3680.  07h    BYTE    server utilization in percent
  3681.  08h    WORD    (big-endian) maximum bindery objects set by configuration
  3682.         0000h = unlimited
  3683.  0Ah    WORD    (big-endian) maximum number of bindery objects used
  3684.  0Ch    WORD    (big-endian) current number of bindery objects in use
  3685.  0Eh    WORD    (big-endian) total server memory in KB
  3686.  10h    WORD    (big-endian) wasted server memory in KB
  3687.         normally 0000h
  3688.  12h    WORD    number of records following (01h-03h)
  3689.  14h    var    array of Dynamic Memory Information records (see #1738)
  3690. SeeAlso: #1736,#1737 at AH=E3h/SF=E8h
  3691. --------N-21F217SFE9-------------------------
  3692. INT 21 - Novell NetWare - GET VOLUME INFORMATION
  3693.     AX = F217h subfn E9h
  3694.     CX = length of request buffer in bytes
  3695.     DX = length of reply buffer in bytes
  3696.     DS:SI -> request buffer (see #1739 at AH=E3h/SF=E9h)
  3697.     ES:DI -> reply buffer (see #1902)
  3698. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3699. SeeAlso: AH=F2h"Novell",AH=E3h/SF=E9h,AX=F212h,AX=F216h/SF=15h
  3700.  
  3701. Format of NetWare "Get Volume Information" reply packet:
  3702. Offset    Size    Description    (Table 1902)
  3703.  00h    DWORD    (big-endian) elapsed system time
  3704.  04h    BYTE    volume number
  3705.  05h    BYTE    logical drive number
  3706.  06h    WORD    (big-endian) sectors per block
  3707.  08h    WORD    (big-endian) starting block
  3708.  0Ah    WORD    (big-endian) total blocks on volume
  3709.  0Ch    WORD    (big-endian) blocks available on volume
  3710.  0Eh    WORD    (big-endian) total directory slots
  3711.  10h    WORD    (big-endian) directory slots available
  3712.  12h    WORD    (big-endian) maximum directory entries actually used
  3713.  14h    BYTE    flag: volume hashed if nonzero
  3714.  15h    BYTE    flag: volume cached if nonzero
  3715.  16h    BYTE    flag: volume removable if nonzero
  3716.  17h    BYTE    flag: volume mounted if nonzero
  3717.  18h 16 BYTEs    NUL-padded volume name
  3718. SeeAlso: #1739,#1740 at AH=E3h/SF=E9h
  3719. --------N-21F217SFEA-------------------------
  3720. INT 21 - Novell NetWare v3.11+ - GET CONNECTION'S TASK INFORMATION
  3721.     AX = F217h subfn EAh
  3722.     CX = length of request buffer in bytes
  3723.     DX = length of reply buffer in bytes
  3724.     DS:SI -> request buffer (see #1903)
  3725.     ES:DI -> reply buffer (see #1888)
  3726. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3727. SeeAlso: AH=F2h"Novell",AX=F217h/SF=DAh
  3728.  
  3729. Format of NetWare "Get Connection's Task Information" request packet:
  3730. Offset    Size    Description    (Table 1903)
  3731.  00h    WORD    length of following data
  3732.  02h    BYTE    EAh (subfunction "Get Connection's Task Information")
  3733.  03h    WORD    connection number
  3734. SeeAlso: #1888,#1695 at AH=E3h/SF=DAh
  3735. --------N-21F217SFEB-------------------------
  3736. INT 21 - Novell NetWare v3+ - GET CONNECTION'S OPEN FILES
  3737.     AX = F217h subfn EBh
  3738.     CX = length of request buffer in bytes
  3739.     DX = length of reply buffer in bytes
  3740.     DS:SI -> request buffer (see #1904)
  3741.     ES:DI -> reply buffer (see #1905)
  3742. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3743.     reply buffer filled
  3744. SeeAlso: AH=F2h"Novell",AX=F217h/SF=DBh
  3745.  
  3746. Format of NetWare "Get Connection's Open Files" request buffer:
  3747. Offset    Size    Description    (Table 1904)
  3748.  00h    WORD    0005h (length of following data)
  3749.  02h    BYTE    EBh (subfunction "Get Connection's Open Files")
  3750.  03h    WORD    target connection number
  3751.  05h    WORD    last record seen (set to 0000h for first call)
  3752. Note:    connection numbers greater than the maximum supported by the server
  3753.       can cause ABENDs
  3754. SeeAlso: #1905
  3755.  
  3756. Format of NetWare "Get Connection's Open Files" reply buffer:
  3757. Offset    Size    Description    (Table 1905)
  3758.  00h    WORD    next request record
  3759.  02h    WORD    number of records returned (max 28)
  3760.  04h 29N BYTEs    array of connection records (see #1906)
  3761. SeeAlso: #1904
  3762.  
  3763. Format of NetWare connection record:
  3764. Offset    Size    Description    (Table 1906)
  3765.  00h    WORD    task number
  3766.  02h    BYTE    lock type
  3767.  03h    BYTE    access control
  3768.  04h    BYTE    lock flag
  3769.  05h    BYTE    volume number
  3770.  06h    DWORD    parent directory entry number
  3771.  0Ah    DWORD    directory entry number
  3772.  0Eh    BYTE    fork count
  3773.  0Fh    BYTE    data stream type / name space (see #2042)
  3774.  10h    BYTE    file name length
  3775.  11h 12 BYTEs    file name
  3776. SeeAlso: #1905
  3777. --------N-21F217SFEC-------------------------
  3778. INT 21 - Novell NetWare v3+ - GET CONNECTIONS USING A FILE
  3779.     AX = F217h subfn ECh
  3780.     CX = length of request buffer in bytes
  3781.     DX = length of reply buffer in bytes
  3782.     DS:SI -> request buffer (see #1907)
  3783.     ES:DI -> reply buffer (see #1908)
  3784. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3785.     reply buffer filled
  3786. SeeAlso: AH=F2h"Novell",AX=F217h/SF=DCh
  3787.  
  3788. Format of NetWare "Get Connections Using a File" request buffer:
  3789. Offset    Size    Description    (Table 1907)
  3790.  00h    WORD    0009h (length of following data)
  3791.  02h    BYTE    ECh (subfunction "Get Connections Using a File")
  3792.  03h    BYTE    data stream type
  3793.  04h    BYTE    volume number
  3794.  05h    DWORD    directory entry number
  3795.  09h    WORD    last record seen (0000h for first call)
  3796. SeeAlso: #1908
  3797.  
  3798. Format of NetWare "Get Connections Using a File" reply buffer:
  3799. Offset    Size    Description    (Table 1908)
  3800.  00h    WORD    next request record
  3801.  02h    WORD    use count
  3802.  04h    WORD    open count
  3803.  06h    WORD    number of times open for reading
  3804.  08h    WORD    number of times open for writing
  3805.  0Ah    WORD    Deny Read count
  3806.  0Ch    WORD    Deny Write count
  3807.  0Eh    BYTE    flag: locked
  3808.  0Fh    BYTE    fork count
  3809.  10h    WORD    number of records returned (max 70)
  3810.  12h 7N BYTEs    returned records (see #1909)
  3811. SeeAlso: #1907
  3812.  
  3813. Format of returned record:
  3814. Offset    Size    Description    (Table 1909)
  3815.  00h    WORD    connection number
  3816.  02h    WORD    task number
  3817.  04h    BYTE    lock type
  3818.  05h    BYTE    access flag
  3819.  06h    BYTE    lock flag
  3820. SeeAlso: #1908
  3821. --------N-21F217SFED-------------------------
  3822. INT 21 - Novell NetWare v3+ - GET PHYSICAL RECORD LOCKS BY CONNECTION AND FILE
  3823.     AX = F217h subfn EDh
  3824.     CX = length of request buffer in bytes
  3825.     DX = length of reply buffer in bytes
  3826.     DS:SI -> request buffer (see #1910)
  3827.     ES:DI -> reply buffer (see #1911)
  3828. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3829. SeeAlso: AH=F2h"Novell",AX=F217h/SF=DDh,AX=F217h/SF=EEh
  3830.  
  3831. Format of NetWare "Get Phys Record Locks By Conn And File" request packet:
  3832. Offset    Size    Description    (Table 1910)
  3833.  00h    WORD    length of following data
  3834.  02h    BYTE    EDh (subfunction "Get Physical Record Locks By Connection
  3835.           And File")
  3836.  03h    WORD    target connection number
  3837.  05h    BYTE    last record seen (set to 00h before first call)
  3838.  06h    BYTE    volume number
  3839.  07h    DWORD    directory entry number
  3840.  0Bh  N BYTEs    filename
  3841. SeeAlso: #1911
  3842.  
  3843. Format of NetWare "Get Physical Record Locks By Connect And File" reply packet:
  3844. Offset    Size    Description    (Table 1911)
  3845.  00h    WORD    next record (place in last-seen field on next call)
  3846.  02h    WORD    number of locks returned
  3847.  04h 11N BYTEs    lock records
  3848.         Offset    Size    Description
  3849.          00h    WORD    (big-endian) task number
  3850.          02h    BYTE    lock status
  3851.          03h    DWORD    (big-endian) record start offset
  3852.          07h    DWORD    (big-endian) record end offset
  3853. SeeAlso: #1910
  3854. --------N-21F217SFEE-------------------------
  3855. INT 21 - Novell NetWare v3+ - GET PHYSICAL RECORD LOCKS BY FILE
  3856.     AX = F217h subfn EEh
  3857.     CX = length of request buffer in bytes
  3858.     DX = length of reply buffer in bytes
  3859.     DS:SI -> request buffer (see #1912)
  3860.     ES:DI -> reply buffer (see #1913)
  3861. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3862.     reply buffer filled
  3863. SeeAlso: AH=F2h"Novell",AX=F217h/SF=DEh
  3864.  
  3865. Format of NetWare "Get Physical Record Locks by File" request buffer:
  3866. Offset    Size    Description    (Table 1912)
  3867.  00h    WORD    0009h (length of following data)
  3868.  02h    BYTE    EEh (subfunction "Get Physical Record Locks by File")
  3869.  03h    BYTE    data stream number
  3870.  04h    BYTE    volume number
  3871.  05h    DWORD    directory entry number
  3872.  09h    WORD    last record seen (0000h for first call)
  3873. SeeAlso: #1913
  3874.  
  3875. Format of NetWare "Get Physical Record Locks by File" reply buffer:
  3876. Offset    Size    Description    (Table 1913)
  3877.  00h    WORD    next request record
  3878.  02h    WORD    number of locks
  3879.  04h 17N BYTEs    array of lock records, one per lock (see #1914)
  3880. SeeAlso: #1912
  3881.  
  3882. Format of NetWare lock record:
  3883. Offset    Size    Description    (Table 1914)
  3884.  00h    WORD    logged count
  3885.  02h    WORD    number of shareable locks
  3886.  04h    DWORD    start offset of record
  3887.  08h    DWORD    end offset of record
  3888.  0Ch    WORD    logical connection number
  3889.  0Eh    WORD    task number
  3890.  10h    BYTE    lock type
  3891. SeeAlso: #1913
  3892. --------N-21F217SFEF-------------------------
  3893. INT 21 - Novell NetWare v3+ - GET LOGICAL RECORDS BY CONNECTION
  3894.     AX = F217h subfn EFh
  3895.     CX = length of request buffer in bytes
  3896.     DX = length of reply buffer in bytes
  3897.     DS:SI -> request buffer (see #1915)
  3898.     ES:DI -> reply buffer (see #1916)
  3899. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3900. SeeAlso: AH=F2h"Novell",AX=F217h/SF=DFh
  3901.  
  3902. Format of NetWare "Get Logical Records By Connection" request packet:
  3903. Offset    Size    Description    (Table 1915)
  3904.  00h    WORD    length of following data
  3905.  02h    BYTE    EFh (subfunction "Get Logical Records By Connection")
  3906.  03h    WORD    target connection number
  3907.  05h    WORD    last record seen (set to 0000h before first call)
  3908. SeeAlso: #1916
  3909.  
  3910. Format of NetWare "Get Logical Records By Connection" request packet:
  3911. Offset    Size    Description    (Table 1916)
  3912.  00h    WORD    next record (place in last-seen field on next call)
  3913.  02h    WORD    number of records returned
  3914.  04h        Logical Lock Information records (see #1717 at AH=E3h/SF=DFh)
  3915. SeeAlso: #1915
  3916. --------N-21F217SFF0-------------------------
  3917. INT 21 - Novell NetWare v3+ - GET LOGICAL RECORD INFORMATION
  3918.     AX = F217h subfn F0h
  3919.     CX = length of request buffer in bytes
  3920.     DX = length of reply buffer in bytes
  3921.     DS:SI -> request buffer (see #1917)
  3922.     ES:DI -> reply buffer (see #1918)
  3923. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3924. SeeAlso: AH=F2h"Novell",AX=F217h/SF=E0h,AX=F217h/SF=EFh
  3925.  
  3926. Format of NetWare "Get Logical Record Information" request packet:
  3927. Offset    Size    Description    (Table 1917)
  3928.  00h    WORD    length of following data
  3929.  02h    BYTE    F0h (subfunction "Get Logical Record Information")
  3930.  03h    WORD    last record seen
  3931.  05h    BYTE    length of logical record name
  3932.  06h  N BYTEs    logical record name (case-sensitive)
  3933. SeeAlso: #1918
  3934.  
  3935. Format of NetWare "Get Logical Record Information" request packet:
  3936. Offset    Size    Description    (Table 1918)
  3937.  00h    WORD    number of connections logging record
  3938.  02h    WORD    number of shareable locks
  3939.  04h    BYTE    flag: locked exclusively if nonzero
  3940.  05h    WORD    next request record (place in last-seen field on next call)
  3941.  07h    BYTE    number of records returned
  3942.  08h        logical record information records [array]
  3943.         Offset    Size    Description
  3944.          00h    WORD    connection number
  3945.          02h    BYTE    task number
  3946.          03h    BYTE    lock status
  3947. SeeAlso: #1917
  3948. --------N-21F217SFF1-------------------------
  3949. INT 21 - Novell NetWare v3+ - GET CONNECTION'S SEMAPHORES
  3950.     AX = F217h subfn F1h
  3951.     CX = length of request buffer in bytes
  3952.     DX = length of reply buffer in bytes
  3953.     DS:SI -> request buffer (see #1919)
  3954.     ES:DI -> reply buffer (see #1920)
  3955. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3956. SeeAlso: AH=F2h"Novell",AX=F217h/SF=E1h
  3957.  
  3958. Format of NetWare "Get Connection's Semaphores" request packet:
  3959. Offset    Size    Description    (Table 1919)
  3960.  00h    WORD    length of following data
  3961.  02h    BYTE    F1h (subfunction "Get Connection's Semaphores")
  3962.  03h    WORD    connection number
  3963.  05h    WORD    last record seen (set to 0000h before first call)
  3964. SeeAlso: #1920
  3965.  
  3966. Format of NetWare "Get Connection's Semaphores" reply packet:
  3967. Offset    Size    Description    (Table 1920)
  3968.  00h    WORD    next record (place in last-seen field on next call)
  3969.  02h    WORD    number of semaphores returned
  3970.  04h    BYTEs    semaphore information records [packed array] (see #1921)
  3971. SeeAlso: #1919
  3972.  
  3973. Format of NetWare semaphore information record:
  3974. Offset    Size    Description    (Table 1921)
  3975.  00h    WORD    semaphore's current value
  3976.  02h    WORD    number of connections using semaphore
  3977.  04h    WORD    task number
  3978.  06h    BYTE    length of semaphore's name
  3979.  07h  N BYTEs    semaphore name
  3980. SeeAlso: #1920
  3981. --------N-21F217SFF2-------------------------
  3982. INT 21 - Novell NetWare v3+ - GET SEMAPHORE INFORMATION
  3983.     AX = F217h subfn F2h
  3984.     CX = length of request buffer in bytes
  3985.     DX = length of reply buffer in bytes
  3986.     DS:SI -> request buffer (see #1922)
  3987.     ES:DI -> reply buffer (see #1923)
  3988. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  3989.     reply buffer filled
  3990. SeeAlso: AH=F2h"Novell",AX=F217h/SF=E2h
  3991.  
  3992. Format of NetWare "Get Semaphore Information" request buffer:
  3993. Offset    Size    Description    (Table 1922)
  3994.  00h    WORD    length of following data (max 84h)
  3995.  02h    BYTE    F2h (subfunction "Get Semaphore Information")
  3996.  03h    WORD    last record seen (0000h on first call)
  3997.  05h    BYTE    length of semaphore name (max 128)
  3998.  06h  N BYTEs    semaphore name
  3999. SeeAlso: #1923
  4000.  
  4001. Format of NetWare "Get Semaphore Information" reply buffer:
  4002. Offset    Size    Description    (Table 1923)
  4003.  00h    WORD    next request record
  4004.  02h    WORD    open count
  4005.  04h    BYTE    value of semaphore
  4006.  05h    WORD    number of records returned
  4007.  07h 2N WORDs    list of logical connection number/task number pairs
  4008. SeeAlso: #1922
  4009. --------N-21F217SFF3-------------------------
  4010. INT 21 - Novell NetWare v3+ - MAP DIRECTORY NUMBER TO PATH
  4011.     AX = F217h subfn F3h
  4012.     CX = length of request buffer in bytes
  4013.     DX = length of reply buffer in bytes
  4014.     DS:SI -> request buffer (see #1924)
  4015.     ES:DI -> reply buffer (see #1925)
  4016. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4017.     reply buffer filled
  4018. SeeAlso: AX=F217h/SF=F4h
  4019.  
  4020. Format of NetWare "Map Directory Number to Path" request buffer:
  4021. Offset    Size    Description    (Table 1924)
  4022.  00h    WORD    0007h (length of following data)
  4023.  02h    BYTE    F3h (subfunction "Map Directory Number to Path")
  4024.  03h    BYTE    volume number
  4025.  04h    DWORD    directory entry number
  4026.  08h    BYTE    name space type
  4027. SeeAlso: #1925
  4028.  
  4029. Format of NetWare "Map Directory Number to Path" reply buffer:
  4030. Offset    Size    Description    (Table 1925)
  4031.  00h    BYTE    directory path length
  4032.  01h  N BYTEs    directory path (NetWare style, separated by length descriptors
  4033.           rather than slashes or backslashes)
  4034. SeeAlso: #1924
  4035. --------N-21F217SFF4-------------------------
  4036. INT 21 - Novell NetWare v3+ - CONVERT PATH TO DIRECTORY ENTRY
  4037.     AX = F217h subfn F4h
  4038.     CX = length of request buffer in bytes
  4039.     DX = length of reply buffer in bytes
  4040.     DS:SI -> request buffer (see #1926)
  4041.     ES:DI -> reply buffer (see #1927)
  4042. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4043.     reply buffer filled
  4044. SeeAlso: AX=F217h/SF=F3h
  4045.  
  4046. Format of NetWare "Convert Path to Directory Entry" request packet:
  4047. Offset    Size    Description    (Table 1926)
  4048.  00h    WORD    length of following data
  4049.  02h    BYTE    F4h (subfunction "Convert Path to Directory Entry")
  4050.  03h    BYTE    directory handle or 00h for none
  4051.  04h    BYTE    length of directory path
  4052.  05h  N BYTEs    directory path (must be fully qualified if no handle specified)
  4053. SeeAlso: #1927
  4054.  
  4055. Format of NetWare "Convert Path to Directory Entry" reply packet:
  4056. Offset    Size    Description    (Table 1927)
  4057.  00h    BYTE    volume number
  4058.  01h    DWORD    directory entry number
  4059. SeeAlso: #1926
  4060. --------N-21F217SFF5-------------------------
  4061. INT 21 - Novell NetWare - GET FILE SERVER EXTENDED MISC INFORMATION
  4062.     AX = F217h subfn F5h
  4063.     CX = length of request buffer in bytes
  4064.     DX = length of reply buffer in bytes
  4065.     DS:SI -> request buffer (see #1928)
  4066.     ES:DI -> reply buffer (see #1929)
  4067. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4068. SeeAlso: AH=F2h"Novell",AX=F217h/SF=11h,AX=F217h/SF=C9h,AX=F217h/SF=E8h
  4069.  
  4070. Format of NetWare "Get File Server Extended Misc Information" request packet:
  4071. Offset    Size    Description    (Table 1928)
  4072.  00h    WORD    length of following data
  4073.  02h    BYTE    F5h (subfunction "Get File Server Extended Misc Information")
  4074.  03h    BYTE    length of reply buffer
  4075. SeeAlso: #1929
  4076.  
  4077. Format of NetWare "Get File Server Extended Misc Information" reply packet:
  4078. Offset    Size    Description    (Table 1929)
  4079.  00h    DWORD    system interval marker
  4080.         (up-time in clock ticks, wraps to 0 on reaching FFFFFFFFh)
  4081.  04h    BYTE    processor type
  4082.         00h Motorola 680x0
  4083.         01h Intel 8088/8086
  4084.         02h 80286
  4085.  05h    BYTE    reserved for future use
  4086.  06h    BYTE    number of service processes
  4087.  07h    BYTE    server utilization percentage
  4088.  08h    WORD    maximum bindery objects set by configuration
  4089.  0Ah    WORD    actual maximum bindery objects
  4090.  0Ch    WORD    current number of bindery objects
  4091.  0Eh    WORD    (big-endian) total server memory
  4092.  10h    WORD    (big-endian) wasted server memory
  4093.  12h    WORD    (big-endian) number of dynamic memory areas
  4094.  14h    DWORD    (big-endian) total space in dynamic memory area
  4095.  18h    DWORD    maximum dynamic space used
  4096.  1Ch    DWORD    dynamic space currently used
  4097. SeeAlso: #1928
  4098. --------N-21F217SFF6-------------------------
  4099. INT 21 - Novell NetWare - GET VOLUME EXTENDED INFORMATION
  4100.     AX = F217h subfn F6h
  4101.     CX = length of request buffer in bytes
  4102.     DX = length of reply buffer in bytes
  4103.     DS:SI -> request buffer (see #1930)
  4104.     ES:DI -> reply buffer (see #1931)
  4105. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4106. SeeAlso: AH=F2h"Novell",AX=F217h/SF=E8h
  4107.  
  4108. Format of NetWare "Get Volume Extended Information" request packet:
  4109. Offset    Size    Description    (Table 1930)
  4110.  00h    WORD    length of following data
  4111.  02h    BYTE    F6h (subfunction "Get Volume Extended Information")
  4112.  03h    BYTE    volume number
  4113.  04h    BYTE    size of reply buffer
  4114. SeeAlso: #1931
  4115.  
  4116. Format of NetWare "Get Volume Extended Information" reply packet:
  4117. Offset    Size    Description    (Table 1931)
  4118.  00h    DWORD    system interval
  4119.         (up-time in clock ticks, wraps to 0 on reaching FFFFFFFFh)
  4120.  04h    BYTE    volume number
  4121.  05h    BYTE    logical drive number
  4122.  06h    WORD    number of 512-byte sectors per disk block
  4123.  08h    DWORD    starting block number of volume
  4124.  0Ch    WORD    total number of disk blocks
  4125.  0Eh    WORD    number of free disk blocks
  4126.  10h    WORD    total number of directory entries
  4127.  12h    WORD    number of available directory entries
  4128.  14h    WORD    maximum directory entries ever used
  4129.  16h    BYTE    flag: volume is hashed in memory if nonzero
  4130.  17h    BYTE    flag: volume is cached if nonzero
  4131.  18h    BYTE    flag: volume is removable if nonzero
  4132.  19h    BYTE    flag: volume is mounted if nonzero
  4133.  1Ah 16 BYTEs    volume name (null-padded)
  4134. SeeAlso: #1930
  4135. --------N-21F217SFFE-------------------------
  4136. INT 21 - Novell NetWare v4 - CLEAR CONNECTION NUMBER GREATER THAN 250
  4137.     AX = F217h subfn FEh
  4138.     CX = length of request packet in bytes
  4139.     DX = 0000h (no reply packet)
  4140.     DS:SI -> request packet (see #1932)
  4141.     ES:DI ignored
  4142. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4143. SeeAlso: AH=E3h/SF=D2h,AX=F217h/SF=D2h
  4144.  
  4145. Format of NetWare "Clear Connection Number" request buffer:
  4146. Offset    Size    Description    (Table 1932)
  4147.  00h    WORD    length of following data
  4148.  02h    BYTE    FEh (subfunction "Clear Connection Number")
  4149.  03h    DWORD    connection number
  4150. SeeAlso: #1677
  4151. --------N-21F21B-----------------------------
  4152. INT 21 - Novell NetWare - LOCK PHYSICAL RECORD SET (OLD)
  4153.     AX = F21Bh
  4154.     CX = length of request packet in bytes
  4155.     DX = 0000h (no reply packet)
  4156.     DS:SI -> request packet (see #2135 at AX=F26Eh)
  4157.     ES:DI ignored
  4158. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4159. SeeAlso: AH=F2h"Novell",AX=F26Eh,AH=C2h"NetWare"
  4160. --------N-21F21E-----------------------------
  4161. INT 21 - Novell NetWare - CLEAR PHYSICAL RECORD
  4162.     AX = F21Eh
  4163.     CX = length of request packet in bytes
  4164.     DX = 0000h (no reply packet)
  4165.     DS:SI -> request packet (see #1933)
  4166.     ES:DI ignored
  4167. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4168. SeeAlso: AH=5Ch,AH=BEh"NetWare",AH=F2h"Novell",AX=F20Bh,AX=F21Fh
  4169.  
  4170. Format of NetWare "Clear Physical Record" request packet:
  4171. Offset    Size    Description    (Table 1933)
  4172.  00h    BYTE    reserved for future use
  4173.  01h  6 BYTEs    NetWare file handle
  4174.  07h    DWORD    starting offset of locked region
  4175.  0Bh    DWORD    length of locked region
  4176. SeeAlso: #1934
  4177. --------N-21F21F-----------------------------
  4178. INT 21 - Novell NetWare - CLEAR PHYSICAL RECORD SET
  4179.     AX = F21Fh
  4180.     CX = length of request packet in bytes
  4181.     DX = 0000h (no reply packet)
  4182.     DS:SI -> request packet (see #1934)
  4183.     ES:DI ignored
  4184. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4185. SeeAlso: AH=5Ch,AH=C4h"NetWare",AH=F2h"Novell",AX=F20Eh,AX=F21Eh
  4186.  
  4187. Format of NetWare "Clear Physical Record Set" request packet:
  4188. Offset    Size    Description    (Table 1934)
  4189.  00h    BYTE    lock flag (00h = not locked)
  4190. SeeAlso: #1933
  4191. --------N-21F220SF00-------------------------
  4192. INT 21 - Novell NetWare - OPEN SEMAPHORE (OLD)
  4193.     AX = F220h subfn 00h
  4194.     CX = length of request buffer in bytes
  4195.     DX = length of reply buffer in bytes
  4196.     DS:SI -> request buffer (see #1935)
  4197.     ES:DI -> reply buffer (see #1936)
  4198. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4199. SeeAlso: AH=F2h"Novell",AX=C500h,AX=F220h/SF=01h,AX=F220h/SF=03h
  4200.  
  4201. Format of NetWare "Open Semaphore (old)" request packet:
  4202. Offset    Size    Description    (Table 1935)
  4203.  00h    BYTE    00h (subfunction "Open Semaphore (old)")
  4204.  01h    BYTE    initial value of semaphore ( >= 0)
  4205.  02h    BYTE    length of semaphore's name (max 512)
  4206.  03h  N BYTEs    semaphore name
  4207. SeeAlso: #1936,#1937
  4208.  
  4209. Format of NetWare "Open Semaphore (old)" reply packet:
  4210. Offset    Size    Description    (Table 1936)
  4211.  00h    DWORD    semaphore handle
  4212.  04h    BYTE    number of processes using semaphore (including caller)
  4213. SeeAlso: #1935,#1938
  4214. --------N-21F220SF01-------------------------
  4215. INT 21 - Novell NetWare - EXAMINE SEMAPHORE (OLD)
  4216.     AX = F220h subfn 01h
  4217.     CX = length of request buffer in bytes
  4218.     DX = length of reply buffer in bytes
  4219.     DS:SI -> request buffer (see #1937)
  4220.     ES:DI -> reply buffer (see #1938)
  4221. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4222. SeeAlso: AH=F2h"Novell",AX=C501h,AX=F220h/SF=00h,AX=F220h/SF=03h
  4223.  
  4224. Format of NetWare "Close Semaphore (old)" request packet:
  4225. Offset    Size    Description    (Table 1937)
  4226.  00h    BYTE    01h (subfunction "Examine Semaphore (old)")
  4227.  01h    DWORD    semaphore handle
  4228. SeeAlso: #1938,#1935
  4229.  
  4230. Format of NetWare "Close Semaphore (old)" request packet:
  4231. Offset    Size    Description    (Table 1938)
  4232.  00h    BYTE    current semaphore value
  4233.  01h    BYTE    number of processes using semaphore (including caller)
  4234. SeeAlso: #1937,#1936
  4235. --------N-21F220SF02-------------------------
  4236. INT 21 - Novell NetWare - WAIT ON SEMAPHORE (OLD)
  4237.     AX = F220h subfn 02h
  4238.     CX = length of request packet in bytes
  4239.     DX = 0000h (no reply packet)
  4240.     DS:SI -> request packet (see #1939)
  4241.     ES:DI ignored
  4242. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4243. SeeAlso: AH=F2h"Novell",AX=C502h,AX=F220h/SF=00h,AX=F220h/SF=03h
  4244.  
  4245. Format of NetWare "Wait on Semaphore (old)" request packet:
  4246. Offset    Size    Description    (Table 1939)
  4247.  00h    BYTE    02h (subfunction "Wait on Semaphore (old)")
  4248.  01h    DWORD    semaphore handle
  4249.  05h    WORD    timeout in 1/18s (0000h = return immediately)
  4250. SeeAlso: #1937,#1940
  4251. --------N-21F220SF03-------------------------
  4252. INT 21 - Novell NetWare - SIGNAL SEMAPHORE (OLD)
  4253.     AX = F220h subfn 03h
  4254.     CX = length of request packet in bytes
  4255.     DX = 0000h (no reply packet)
  4256.     DS:SI -> request packet (see #1940)
  4257.     ES:DI ignored
  4258. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4259. SeeAlso: AH=F2h"Novell",AX=C503h,AX=F220h/SF=02h,AX=F220h/SF=04h
  4260.  
  4261. Format of NetWare "Signal Semaphore (old)" request packet:
  4262. Offset    Size    Description    (Table 1940)
  4263.  00h    BYTE    03h (subfunction "Signal Semaphore (old)")
  4264.  01h    DWORD    semaphore handle
  4265. SeeAlso: #1939,#1941
  4266. --------N-21F220SF04-------------------------
  4267. INT 21 - Novell NetWare - CLOSE SEMAPHORE (OLD)
  4268.     AX = F220h subfn 04h
  4269.     CX = length of request packet in bytes
  4270.     DX = 0000h (no reply packet)
  4271.     DS:SI -> request packet (see #1941)
  4272.     ES:DI ignored
  4273. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4274. SeeAlso: AH=F2h"Novell",AX=C504h,AX=F220h/SF=00h,AX=F220h/SF=01h
  4275. SeeAlso: AX=F26Fh/SF=01h
  4276.  
  4277. Format of NetWare "Close Semaphore (old)" request packet:
  4278. Offset    Size    Description    (Table 1941)
  4279.  00h    BYTE    04h (subfunction "Close Semaphore (old)")
  4280.  01h    DWORD    semaphore handle
  4281. SeeAlso: #1940,#2138
  4282. --------N-21F222SF00-------------------------
  4283. INT 21 - Novell NetWare - TTS IS AVAILABLE
  4284.     AX = F222h subfn 00h
  4285.     CX = length of request packet in bytes
  4286.     DX = 0000h (no reply packet)
  4287.     DS:SI -> request packet (see #1942)
  4288.     ES:DI ignored
  4289. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4290. SeeAlso: AH=F2h"Novell",AX=C702h,AX=F222h/SF=01h,AX=F222h/SF=05h
  4291.  
  4292. Format of NetWare "TTS Is Available" request packet:
  4293. Offset    Size    Description    (Table 1942)
  4294.  00h    BYTE    00h (subfunction "TTS Is Available")
  4295. --------N-21F222SF01-------------------------
  4296. INT 21 - Novell NetWare - TTS BEGIN TRANSACTION
  4297.     AX = F222h subfn 01h
  4298.     CX = length of request packet in bytes
  4299.     DX = 0000h (no reply packet)
  4300.     DS:SI -> request packet (see #1943)
  4301.     ES:DI ignored
  4302. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4303. SeeAlso: AH=F2h"Novell",AX=C700h,AX=F222h/SF=02h,AX=F222h/SF=03h
  4304.  
  4305. Format of NetWare "TTS Begin Transaction" request packet:
  4306. Offset    Size    Description    (Table 1943)
  4307.  00h    BYTE    01h (subfunction "TTS Begin Transaction")
  4308. SeeAlso: #1944,#1946
  4309. --------N-21F222SF02-------------------------
  4310. INT 21 - Novell NetWare - TTS END TRANSACTION
  4311.     AX = F222h subfn 02h
  4312.     CX = length of request buffer in bytes
  4313.     DX = length of reply buffer in bytes
  4314.     DS:SI -> request buffer (see #1944)
  4315.     ES:DI -> reply buffer (see #1945)
  4316. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4317. SeeAlso: AH=F2h"Novell",AX=C701h,AX=F222h/SF=01h,AX=F222h/SF=04h
  4318.  
  4319. Format of NetWare "TTS End Transaction" request packet:
  4320. Offset    Size    Description    (Table 1944)
  4321.  00h    BYTE    02h (subfunction "TTS End Transaction")
  4322. SeeAlso: #1945,#1943
  4323.  
  4324. Format of NetWare "TTS End Transaction" reply packet:
  4325. Offset    Size    Description    (Table 1945)
  4326.  00h    DWORD    transaction number
  4327. SeeAlso: #1944,#1947
  4328. --------N-21F222SF03-------------------------
  4329. INT 21 - Novell NetWare - TTS ABORT TRANSACTION
  4330.     AX = F222h subfn 03h
  4331.     CX = length of request packet in bytes
  4332.     DX = 0000h (no reply packet)
  4333.     DS:SI -> request packet (see #1946)
  4334.     ES:DI ignored
  4335. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4336. SeeAlso: AH=F2h"Novell",AX=C703h,AX=F222h/SF=01h,AX=F222h/SF=02h
  4337. SeeAlso: AX=F220h/SF=04h
  4338.  
  4339. Format of NetWare "TTS Abort Transaction" request packet:
  4340. Offset    Size    Description    (Table 1946)
  4341.  00h    BYTE    03h (subfunction "TTS Abort Transaction")
  4342. SeeAlso: #1943,#1944
  4343. --------N-21F222SF04-------------------------
  4344. INT 21 - Novell NetWare - TTS TRANSACTION STATUS
  4345.     AX = F222h subfn 04h
  4346.     CX = length of request packet in bytes
  4347.     DX = 0000h (no reply packet)
  4348.     DS:SI -> request packet (see #1947)
  4349.     ES:DI ignored
  4350. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4351. SeeAlso: AH=F2h"Novell",AX=C704h,AX=F222h/SF=02h,AX=F222h/SF=03h
  4352.  
  4353. Format of NetWare "TTS Transaction Status" request packet:
  4354. Offset    Size    Description    (Table 1947)
  4355.  00h    BYTE    04h (subfunction "TTS Transaction Status")
  4356.  01h    DWORD    transaction number
  4357. SeeAlso: #1944,#1945
  4358. --------N-21F222SF05-------------------------
  4359. INT 21 - Novell NetWare - TTS GET APPLICATION THRESHOLDS
  4360.     AX = F222h subfn 05h
  4361.     CX = length of request buffer in bytes
  4362.     DX = length of reply buffer in bytes
  4363.     DS:SI -> request buffer (see #1948)
  4364.     ES:DI -> reply buffer (see #1949)
  4365. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4366. SeeAlso: AH=F2h"Novell",AX=C705h,AX=F222h/SF=06h,AX=F222h/SF=07h
  4367.  
  4368. Format of NetWare "TTS Get Application Thresholds" request packet:
  4369. Offset    Size    Description    (Table 1948)
  4370.  00h    BYTE    05h (subfunction "TTS Get Application Thresholds")
  4371. SeeAlso: #1949,#1950
  4372.  
  4373. Format of NetWare "TTS Get Application Thresholds" request packet:
  4374. Offset    Size    Description    (Table 1949)
  4375.  00h    BYTE    logical lock threshold
  4376.  01h    BYTE    physical lock threshold
  4377. SeeAlso: #1948,#1950
  4378. --------N-21F222SF06-------------------------
  4379. INT 21 - Novell NetWare - TTS SET APPLICATION THRESHOLDS
  4380.     AX = F222h subfn 06h
  4381.     CX = length of request packet in bytes
  4382.     DX = 0000h (no reply packet)
  4383.     DS:SI -> request packet (see #1950)
  4384.     ES:DI ignored
  4385. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4386. SeeAlso: AH=F2h"Novell",AX=C706h,AX=F222h/SF=05h,AX=F222h/SF=08h
  4387.  
  4388. Format of NetWare "TTS Set Application Thresholds" request packet:
  4389. Offset    Size    Description    (Table 1950)
  4390.  00h    BYTE    06h (subfunction "TTS Set Application Thresholds")
  4391.  01h    BYTE    logical lock threshold before implicit transaction started
  4392.  02h    BYTE    physical lock threshold before implicit transaction started
  4393. SeeAlso: #1949,#1953
  4394. --------N-21F222SF07-------------------------
  4395. INT 21 - Novell NetWare - TTS GET WORKSTATION THRESHOLDS
  4396.     AX = F222h subfn 07h
  4397.     CX = length of request buffer in bytes
  4398.     DX = length of reply buffer in bytes
  4399.     DS:SI -> request buffer (see #1951)
  4400.     ES:DI -> reply buffer (see #1952)
  4401. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4402. SeeAlso: AH=F2h"Novell",AX=C707h,AX=F222h/SF=05h,AX=F222h/SF=08h
  4403.  
  4404. Format of NetWare "TTS Get Workstation Thresholds" request packet:
  4405. Offset    Size    Description    (Table 1951)
  4406.  00h    BYTE    07h (subfunction "TTS Get Workstation Thresholds")
  4407. SeeAlso: #1952
  4408.  
  4409. Format of NetWare "TTS Get Workstation Thresholds" reply packet:
  4410. Offset    Size    Description    (Table 1952)
  4411.  00h    BYTE    logical lock threshold
  4412.  01h    BYTE    physical lock threshold
  4413. SeeAlso: #1951
  4414. --------N-21F222SF08-------------------------
  4415. INT 21 - Novell NetWare - TTS SET WORKSTATION THRESHOLDS
  4416.     AX = F222h subfn 08h
  4417.     CX = length of request packet in bytes
  4418.     DX = 0000h (no reply packet)
  4419.     DS:SI -> request packet (see #1953)
  4420.     ES:DI ignored
  4421. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4422. SeeAlso: AH=F2h"Novell",AX=C708h,AX=F222h/SF=06h,AX=F222h/SF=07h
  4423.  
  4424. Format of NetWare "TTS Set Workstation Thresholds" request packet:
  4425. Offset    Size    Description    (Table 1953)
  4426.  00h    BYTE    08h (subfunction "TTS Set Workstation Thresholds")
  4427.  01h    BYTE    logical lock threshold before implicit transaction started
  4428.  02h    BYTE    physical lock threshold before implicit transaction started
  4429. SeeAlso: #1950
  4430. --------N-21F222SF09-------------------------
  4431. INT 21 - Novell NetWare - TTS GET CONTROL FLAGS
  4432.     AX = F222h subfn 09h
  4433.     CX = length of request buffer in bytes
  4434.     DX = length of reply buffer in bytes
  4435.     DS:SI -> request buffer (see #1954)
  4436.     ES:DI -> reply buffer (see #1955)
  4437. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4438. SeeAlso: AH=F2h"Novell",AX=C702h,AX=F222h/SF=07h,AX=F222h/SF=0Ah
  4439.  
  4440. Format of NetWare "TTS Get Transaction Bits" request packet:
  4441. Offset    Size    Description    (Table 1954)
  4442.  00h    BYTE    09h (subfunction "TTS Get Transaction Bits")
  4443. SeeAlso: #1955
  4444.  
  4445. Format of NetWare "TTS Get Transaction Bits" reply packet:
  4446. Offset    Size    Description    (Table 1955)
  4447.  00h    BYTE    TTS control flags
  4448.         bit 0: forced (automatic) record locking enabled
  4449.         bits 1-7: reserved
  4450. SeeAlso: #1954
  4451. --------N-21F222SF0A-------------------------
  4452. INT 21 - Novell NetWare - TTS SET CONTROL FLAGS
  4453.     AX = F222h subfn 0Ah
  4454.     CX = length of request packet in bytes
  4455.     DX = 0000h (no reply packet)
  4456.     DS:SI -> request packet (see #1956)
  4457.     ES:DI ignored
  4458. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4459. SeeAlso: AH=F2h"Novell",AX=C702h,AX=F222h/SF=08h,AX=F222h/SF=09h
  4460.  
  4461. Format of NetWare "TTS Set Transaction Bits" request packet:
  4462. Offset    Size    Description    (Table 1956)
  4463.  00h    BYTE    0Ah (subfunction "TTS Set Transaction Bits")
  4464.  01h    BYTE    TTS control flags
  4465.         bit 0: forced (automatic) record locking enabled
  4466.         bits 1-7: reserved
  4467. --------N-21F223SF01-------------------------
  4468. INT 21 - Novell NetWare v2+ - AFP CREATE DIRECTORY
  4469.     AX = F223h subfn 01h
  4470.     CX = length of request buffer in bytes
  4471.     DX = length of reply buffer in bytes
  4472.     DS:SI -> request buffer (see #1957)
  4473.     ES:DI -> reply buffer (see #1958)
  4474. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4475. SeeAlso: AH=F2h"Novell",AX=F223h/SF=02h,AX=F223h/SF=0Dh
  4476.  
  4477. Format of NetWare "AFP Create Directory" request packet:
  4478. Offset    Size    Description    (Table 1957)
  4479.  00h    WORD    (big-endian) length of following data
  4480.  02h    BYTE    01h (subfunction "AFP Create Directory")
  4481.  03h    BYTE    volume number
  4482.  04h    DWORD    AFP entry ID
  4483.  08h    BYTE    reserved for future use
  4484.  09h 32 BYTEs    Finder information
  4485.  29h    BYTE    path length
  4486.  2Ah  N BYTEs    AFP-style directory pathname (relative to AFP entry ID)
  4487. SeeAlso: #1958,#1959,#1985
  4488.  
  4489. Format of NetWare "AFP Create Directory" reply packet:
  4490. Offset    Size    Description    (Table 1958)
  4491.  00h    DWORD    new directory ID
  4492. SeeAlso: #1957,#1986
  4493. --------N-21F223SF02-------------------------
  4494. INT 21 - Novell NetWare v2+ - AFP CREATE FILE
  4495.     AX = F223h subfn 02h
  4496.     CX = length of request buffer in bytes
  4497.     DX = length of reply buffer in bytes
  4498.     DS:SI -> request buffer (see #1959)
  4499.     ES:DI -> reply buffer (see #1960)
  4500. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4501. SeeAlso: AH=F2h"Novell",AX=F223h/SF=02h,AX=F223h/SF=03h,AX=F223h/SF=0Dh
  4502.  
  4503. Format of NetWare "AFP Create File" request packet:
  4504. Offset    Size    Description    (Table 1959)
  4505.  00h    WORD    (big-endian) length of following data
  4506.  02h    BYTE    01h (subfunction "AFP Create Directory")
  4507.  03h    BYTE    volume number
  4508.  04h    DWORD    AFP entry ID
  4509.  08h    BYTE    flag: delete existing file? (00h no, 01h yes)
  4510.  09h 32 BYTEs    Finder information
  4511.  29h    BYTE    path length
  4512.  2Ah  N BYTEs    AFP-style directory pathname (relative to AFP entry ID)
  4513. SeeAlso: #1957,#1960,#1961,#1987
  4514.  
  4515. Format of NetWare "AFP Create File" reply packet:
  4516. Offset    Size    Description    (Table 1960)
  4517.  00h    DWORD    new file's AFP entry ID
  4518. SeeAlso: #1959,#1988
  4519. --------N-21F223SF03-------------------------
  4520. INT 21 - Novell NetWare v2+ - AFP DELETE FILE
  4521.     AX = F223h subfn 03h
  4522.     CX = length of request packet in bytes
  4523.     DX = 0000h (no reply packet)
  4524.     DS:SI -> request packet (see #1961)
  4525.     ES:DI ignored
  4526. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4527. Note:    directories may be deleted if they are empty
  4528. SeeAlso: AH=F2h"Novell",AX=F223h/SF=02h,AX=F223h/SF=0Dh
  4529.  
  4530. Format of NetWare "AFP Delete File" request packet:
  4531. Offset    Size    Description    (Table 1961)
  4532.  00h    WORD    (big-endian) length of following data
  4533.  02h    BYTE    03h (subfunction "AFP Delete File")
  4534.  03h    BYTE    volume number
  4535.  04h    DWORD    AFP entry ID
  4536.  08h    BYTE    path length
  4537.  09h  N BYTEs    AFP-style pathname (relative to AFP entry ID)
  4538. SeeAlso: #1959
  4539. --------N-21F223SF04-------------------------
  4540. INT 21 - Novell NetWare v2+ - AFP GET ENTRY ID FROM FILENAME
  4541.     AX = F223h subfn 04h
  4542.     CX = length of request buffer in bytes
  4543.     DX = length of reply buffer in bytes
  4544.     DS:SI -> request buffer (see #1962)
  4545.     ES:DI -> reply buffer (see #1963)
  4546. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4547. SeeAlso: AH=F2h"Novell",AX=F223h/SF=06h,AX=F223h/SF=0Ch,AX=F223h/SF=12h
  4548.  
  4549. Format of NetWare "AFP Get Entry ID from Name" request packet:
  4550. Offset    Size    Description    (Table 1962)
  4551.  00h    WORD    (big-endian) length of following data
  4552.  02h    BYTE    04h (subfunction "AFP Get Entry ID from Name")
  4553.  03h    BYTE    volume number
  4554.  04h    DWORD    AFP entry ID
  4555.  08h    BYTE    path length
  4556.  09h  N BYTEs    AFP-style pathname (relative to AFP entry ID)
  4557. SeeAlso: #1963,#1969
  4558.  
  4559. Format of NetWare "AFP Get Entry ID from Name" reply packet:
  4560. Offset    Size    Description    (Table 1963)
  4561.  00h    DWORD    AFP entry ID corresponding to specified file/directory
  4562. SeeAlso: #1962,#1970
  4563. --------N-21F223SF05-------------------------
  4564. INT 21 - Novell NetWare v2+ - AFP GET FILE INFORMATION
  4565.     AX = F223h subfn 05h
  4566.     CX = length of request buffer in bytes
  4567.     DX = length of reply buffer in bytes
  4568.     DS:SI -> request buffer (see #1964)
  4569.     ES:DI -> reply buffer (see #1966)
  4570. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4571. SeeAlso: AH=F2h"Novell",AX=F223h/SF=04h,AX=F223h/SF=09h,AX=F223h/SF=13h
  4572.  
  4573. Format of NetWare "AFP Get File Information" request packet:
  4574. Offset    Size    Description    (Table 1964)
  4575.  00h    WORD    (big-endian) length of following data
  4576.  02h    BYTE    05h (subfunction "AFP Get File Information")
  4577.  03h    BYTE    volume number
  4578.  04h    DWORD    AFP entry ID
  4579.  08h    WORD    request bitmap
  4580.  0Ah    BYTE    path length
  4581.  0Bh  N BYTEs    AFP-style pathname (relative to AFP entry ID)
  4582. SeeAlso: #1966
  4583.  
  4584. Bitfields for NetWare AFP request bitmap:
  4585. Bit(s)    Description    (Table 1965)
  4586.  0    return AFP entry ID
  4587.  1    return data fork length
  4588.  2    return resource fork length
  4589.  3    return number of contained files/subdirectories
  4590.  4    return owner ID
  4591.  5    return short name
  4592.  6    return access rights
  4593.  7    ??? (unused?)
  4594.  8    return attributes
  4595.  9    return parent directory ID
  4596.  10    return creation date
  4597.  11    return last-access date
  4598.  12    return last-modified date and time
  4599.  13    return last-backup date and time
  4600.  14    return Finder information
  4601.  15    return long name
  4602. SeeAlso: #1964,#1991,#1992
  4603.  
  4604. Format of NetWare "AFP Get File Information" reply packet:
  4605. Offset    Size    Description    (Table 1966)
  4606.  00h    DWORD    AFP entry ID for specified file
  4607.  04h    DWORD    AFP entry ID for specified file's parent directory
  4608.  08h    WORD    directory/file attributes (see #1967)
  4609.  0Ah    DWORD    length of data fork
  4610.  0Eh    DWORD    length of resource fork
  4611.  12h    WORD    total files and subdirectories contained within entry
  4612.         always 0000h if entry is a file
  4613.  14h    WORD    creation date in AFP format
  4614.  16h    WORD    last-access date in AFP format
  4615.  18h    WORD    last-modified date in AFP format
  4616.  1Ah    WORD    last-modified time in AFP format
  4617.  1Ch    WORD    last-backup date in AFP format
  4618.  1Eh    WORD    last-backup time in AFP format
  4619.  20h 32 BYTEs    Finder information
  4620.  40h 32 BYTEs    long filename
  4621.  60h    DWORD    NetWare object ID of owner
  4622.  64h 12 BYTEs    short filename (MS-DOS 8.3 format)
  4623.  70h    WORD    access privileges (see #1968)
  4624. SeeAlso: #1964,#1993
  4625.  
  4626. Bitfields for NetWare AFP file/directory attributes:
  4627. Bit(s)    Description    (Table 1967)
  4628.  0    search mode
  4629.  1    search mode
  4630.  2    search mode
  4631.  3    (undefined)
  4632.  4    transaction
  4633.  5    index
  4634.  6    read audit
  4635.  7    write audit
  4636.  8    read-only
  4637.  9    hidden
  4638.  10    system
  4639.  11    execute-only
  4640.  12    subdirectory
  4641.  13    archive
  4642.  14    (undefined)
  4643.  15    shareable file
  4644. SeeAlso: #1966,#1977,#1992
  4645.  
  4646. Bitfields for NetWare AFP access privileges:
  4647. Bit(s)    Description    (Table 1968)
  4648.  8    read (files)
  4649.  9    write (files)
  4650.  10    open (files)
  4651.  11    create (files)
  4652.  12    delete (files)
  4653.  13    parental (directories): create/delete/rename subdirectories
  4654.  14    search (directories)
  4655.  15    modify file status flags
  4656. SeeAlso: #1966,#1992,#1982
  4657. --------N-21F223SF06-------------------------
  4658. INT 21 - Novell NetWare v2+ - AFP GET ENTRY ID FROM NETWARE HANDLE
  4659.     AX = F223h subfn 06h
  4660.     CX = length of request buffer in bytes
  4661.     DX = length of reply buffer in bytes
  4662.     DS:SI -> request buffer (see #1969)
  4663.     ES:DI -> reply buffer (see #1970)
  4664. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4665. SeeAlso: AH=F2h"Novell",AX=F223h/SF=04h,AX=F223h/SF=0Ch,AX=F223h/SF=12h
  4666.  
  4667. Format of NetWare "AFP Get Entry ID from NetWare Handle" request packet:
  4668. Offset    Size    Description    (Table 1969)
  4669.  00h    WORD    (big-endian) length of following data
  4670.  02h    BYTE    06h (subfunction "AFP Get Entry ID from NetWare Handle")
  4671.  03h  6 BYTEs    NetWare file handle
  4672. SeeAlso: #1970,#1962
  4673.  
  4674. Format of NetWare "AFP Get Entry ID from NetWare Handle" reply packet:
  4675. Offset    Size    Description    (Table 1970)
  4676.  00h    BYTE    volume number
  4677.  01h    DWORD    AFP entry ID corresponding to same file as NetWare handle
  4678.  05h    BYTE    fork indicator (00h data fork, 01h resource fork)
  4679. SeeAlso: #1969,#1963
  4680. --------N-21F223SF07-------------------------
  4681. INT 21 - Novell NetWare v2+ - AFP RENAME
  4682.     AX = F223h subfn 07h
  4683.     CX = length of request packet in bytes
  4684.     DX = 0000h (no reply packet)
  4685.     DS:SI -> request packet (see #1971)
  4686.     ES:DI ignored
  4687. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4688. SeeAlso: AH=F2h"Novell",AX=F223h/SF=01h,AX=F223h/SF=03h,AX=F223h/SF=08h
  4689.  
  4690. Format of NetWare "AFP Rename" request packet:
  4691. Offset    Size    Description    (Table 1971)
  4692.  00h    WORD    (big-endian) length of following data
  4693.  02h    BYTE    07h (subfunction "AFP Rename")
  4694.  03h    BYTE    volume number
  4695.  04h    DWORD    source AFP entry ID
  4696.  08h    DWORD    destination AFP entry ID
  4697.  0Ch    BYTE    source path length
  4698.  0Dh  N BYTEs    AFP-style source path (relative to source AFP entry ID)
  4699.     BYTE    destination path length
  4700.       N BYTEs    AFP-style destination path (relative to destination entry ID)
  4701. Note:    the file may be moved from one directory to another without being
  4702.       renamed by setting the destination path to the empty string
  4703. --------N-21F223SF08-------------------------
  4704. INT 21 - Novell NetWare v2+ - AFP OPEN FILE FORK
  4705.     AX = F223h subfn 08h
  4706.     CX = length of request buffer in bytes
  4707.     DX = length of reply buffer in bytes
  4708.     DS:SI -> request buffer (see #1972)
  4709.     ES:DI -> reply buffer (see #1973)
  4710. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4711. SeeAlso: AH=F2h"Novell",AX=F223h/SF=01h,AX=F223h/SF=05h,AX=F223h/SF=09h
  4712.  
  4713. Format of NetWare "AFP Open File Fork" request packet:
  4714. Offset    Size    Description    (Table 1972)
  4715.  00h    WORD    (big-endian) length of following data
  4716.  02h    BYTE    08h (subfunction "AFP Open File Fork")
  4717.  03h    BYTE    volume number
  4718.  04h    DWORD    AFP entry ID
  4719.  08h    BYTE    fork indicator (00h = data fork, 01h = resource fork)
  4720.  09h    BYTE    access mode
  4721.         bit 0: read
  4722.         bit 1: write
  4723.         bit 2: deny read access to others
  4724.         bit 3: deny write access to others
  4725.         bit 4: compatibility mode (should be set)
  4726.  0Ah    BYTE    path length
  4727.  0Bh  N BYTEs    AFP-style pathname (relative to AFP entry ID)
  4728. SeeAlso: #1973
  4729.  
  4730. Format of NetWare "AFP Open File Fork" reply packet:
  4731. Offset    Size    Description    (Table 1973)
  4732.  00h    DWORD    AFP entry ID for newly-opened file fork
  4733.  04h    DWORD    length of opened fork
  4734.  08h  6 BYTEs    NetWare file handle
  4735. SeeAlso: #1972
  4736. --------N-21F223SF09-------------------------
  4737. INT 21 - Novell NetWare v2+ - AFP SET FILE INFORMATION
  4738.     AX = F223h subfn 09h
  4739.     CX = length of request packet in bytes
  4740.     DX = 0000h (no reply packet)
  4741.     DS:SI -> request packet (see #1974)
  4742.     ES:DI ignored
  4743. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4744. SeeAlso: AH=F2h"Novell",AX=F223h/SF=05h,AX=F223h/SF=0Ah,AX=F223h/SF=13h
  4745.  
  4746. Format of NetWare "AFP Set File Information" request packet:
  4747. Offset    Size    Description    (Table 1974)
  4748.  00h    WORD    (big-endian) length of following data
  4749.  02h    BYTE    09h (subfunction "AFP Set File Information")
  4750.  03h    BYTE    volume number
  4751.  04h    DWORD    AFP entry ID
  4752.  08h    WORD    request bitmap (see #1975)
  4753.  0Ah    WORD    directory/file attributes (see #1990)
  4754.  0Ch    WORD    creation date in AFP format
  4755.  0Eh    WORD    last-access date in AFP format
  4756.  10h    WORD    last-modified date in AFP format
  4757.  12h    WORD    last-modified time in AFP format
  4758.  14h    WORD    last-backup date in AFP format
  4759.  16h    WORD    last-backup time in AFP format
  4760.  18h 32 BYTEs    Finder information
  4761.  38h    BYTE    path length
  4762.  39h  N BYTEs    AFP-style pathname (relative to AFP entry ID)
  4763. SeeAlso: #1989
  4764.  
  4765. Bitfields for NetWare AFP request bitmap:
  4766. Bit(s)    Description    (Table 1975)
  4767.  8    set attributes
  4768.  10    set creation date
  4769.  11    set last-access date
  4770.  12    set last-modified date
  4771.  13    set last-backup date
  4772.  14    set Finder information
  4773. SeeAlso: #1974,#1989
  4774. --------N-21F223SF0A-------------------------
  4775. INT 21 - Novell NetWare v2+ - AFP SCAN FILE INFORMATION
  4776.     AX = F223h subfn 0Ah
  4777.     CX = length of request buffer in bytes
  4778.     DX = length of reply buffer in bytes
  4779.     DS:SI -> request buffer (see #1976)
  4780.     ES:DI -> reply buffer (see #1978)
  4781. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4782. SeeAlso: AH=F2h"Novell",AX=F223h/SF=01h,AX=F223h/SF=03h,AX=F223h/SF=08h
  4783.  
  4784. Format of NetWare "AFP Scan File Information" request packet:
  4785. Offset    Size    Description    (Table 1976)
  4786.  00h    WORD    (big-endian) length of following data
  4787.  02h    BYTE    0Ah (subfunction "AFP Scan File Information")
  4788.  03h    BYTE    volume number
  4789.  04h    DWORD    AFP entry ID
  4790.  08h    DWORD    AFP last-seen ID (from previous call)
  4791.         FFFFFFFFh on first call
  4792.  0Ch    WORD    number of entries to return (max. 4)
  4793.  0Eh    WORD    search bitmap (see #1977)
  4794.  10h    WORD    request bitmap (see #1965)
  4795.  12h    BYTE    path length
  4796.  13h  N BYTEs    AFS-style directory path (relative to AFP entry ID)
  4797. SeeAlso: #1978,#1991
  4798.  
  4799. Bitfields for NetWare AFP search bitmap:
  4800. Bit(s)    Description    (Table 1977)
  4801.  8    hidden files and directories
  4802.  9    system files and directories
  4803.  10    subdirectories
  4804.  11    files
  4805. SeeAlso: #1976,#1991,#1965,#1967
  4806.  
  4807. Format of NetWare "AFP Scan File Information" reply packet:
  4808. Offset    Size    Description    (Table 1978)
  4809.  00h    WORD    number of entries returned
  4810.  02h 120N BYTEs    file information records (see #1979)
  4811. SeeAlso: #1976
  4812.  
  4813. Format of NetWare AFP file information:
  4814. Offset    Size    Description    (Table 1979)
  4815.  00h    DWORD    AFP entry ID
  4816.  04h    DWORD    parent directory's AFP entry ID
  4817.  08h    WORD    directory/file attributes (see #1967)
  4818.  0Ah    DWORD    length of data fork
  4819.  0Eh    DWORD    length of resource fork
  4820.  12h    WORD    total files and subdirectories contained within entry
  4821.         always 0000h if entry is a file
  4822.  14h    WORD    creation date in AFP format
  4823.  16h    WORD    last-access date in AFP format
  4824.  18h    WORD    last-modified date in AFP format
  4825.  1Ah    WORD    last-modified time in AFP format
  4826.  1Ch    WORD    last-backup date in AFP format
  4827.  1Eh    WORD    last-backup time in AFP format
  4828.  20h 32 BYTEs    Finder information
  4829.  40h 32 BYTEs    long filename
  4830.  60h    DWORD    NetWare object ID of owner
  4831.  64h 12 BYTEs    short filename (MS-DOS 8.3 format)
  4832.  70h    WORD    access privileges (see #1968)
  4833. SeeAlso: #1978
  4834. --------N-21F223SF0B-------------------------
  4835. INT 21 - Novell NetWare v2+ - AFP ALLOCATE TEMPORARY DIRECTORY HANDLE
  4836.     AX = F223h subfn 0Bh
  4837.     CX = length of request buffer in bytes
  4838.     DX = length of reply buffer in bytes
  4839.     DS:SI -> request buffer (see #1980)
  4840.     ES:DI -> reply buffer (see #1981)
  4841. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4842. SeeAlso: AH=F2h"Novell",AX=F223h/SF=0Dh
  4843.  
  4844. Format of NetWare "AFP Alloc Temporary Directory Handle" request packet:
  4845. Offset    Size    Description    (Table 1980)
  4846.  00h    WORD    (big-endian) length of following data
  4847.  02h    BYTE    0Bh (subfunction "AFT Alloc Temporary Directory Handle")
  4848.  03h    BYTE    volume number
  4849.  04h    DWORD    AFP entry ID
  4850.  08h    BYTE    path length
  4851.  09h  N BYTEs    AFP-style pathname
  4852. SeeAlso: #1981
  4853.  
  4854. Format of NetWare "AFP Alloc Temporary Directory Handle" request packet:
  4855. Offset    Size    Description    (Table 1981)
  4856.  00h    BYTE    directory handle
  4857.  01h    BYTE    NetWare access rights (see #1982)
  4858. SeeAlso: #1980
  4859.  
  4860. Bitfields for NetWare AFP access rights:
  4861. Bit(s)    Description    (Table 1982)
  4862.  0    read
  4863.  1    write
  4864.  2    open
  4865.  3    create
  4866.  4    delete
  4867.  5    parental: create/delete/rename subdirectories
  4868.  6    search
  4869.  7    modify file status flags
  4870. SeeAlso: #1981,#1968
  4871. --------N-21F223SF0C-------------------------
  4872. INT 21 - Novell NetWare v2+ - AFP GET ENTRY ID FROM PATHNAME
  4873.     AX = F223h subfn 0Ch
  4874.     CX = length of request buffer in bytes
  4875.     DX = length of reply buffer in bytes
  4876.     DS:SI -> request buffer (see #1983)
  4877.     ES:DI -> reply buffer (see #1984)
  4878. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4879. SeeAlso: AH=F2h"Novell",AX=F223h/SF=04h,AX=F223h/SF=06h,AX=F223h/SF=12h
  4880.  
  4881. Format of NetWare "AFP Get Entry ID from Path Name" request packet:
  4882. Offset    Size    Description    (Table 1983)
  4883.  00h    WORD    (big-endian) length of following data
  4884.  02h    BYTE    0Ch (subfunction "AFP Get Entry ID from Path Name")
  4885.  03h    BYTE    NetWare directory handle
  4886.  04h    BYTE    path length
  4887.  05h  N BYTEs    pathname
  4888. SeeAlso: #1984
  4889.  
  4890. Format of NetWare "AFP Get Entry ID from Path Name" reply packet:
  4891. Offset    Size    Description    (Table 1984)
  4892.  00h    DWORD    AFP entry ID corresponding to specified file
  4893. SeeAlso: #1983
  4894. --------N-21F223SF0D-------------------------
  4895. INT 21 - Novell NetWare v2+ - AFP 2.0 CREATE DIRECTORY
  4896.     AX = F223h subfn 0Dh
  4897.     CX = length of request buffer in bytes
  4898.     DX = length of reply buffer in bytes
  4899.     DS:SI -> request buffer (see #1985)
  4900.     ES:DI -> reply buffer (see #1986)
  4901. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4902. SeeAlso: AH=F2h"Novell",AX=F223h/SF=01h,AX=F223h/SF=0Eh
  4903.  
  4904. Format of NetWare "AFP 2.0 Create Directory" request buffer:
  4905. Offset    Size    Description    (Table 1985)
  4906.  00h    WORD    (big-endian) length of following data
  4907.  02h    BYTE    0Dh (subfunction "AFP 2.0 Create Directory")
  4908.  03h    BYTE    volume number
  4909.  04h    DWORD    AFP entry ID
  4910.  08h    BYTE    reserved for future use
  4911.  09h 32    BYTEs    Finder information
  4912.  29h  6 BYTEs    ProDOS information
  4913.  2Fh    BYTE    path length
  4914.  30h    var    AFS-style directory path (relative to AFP entry)
  4915. SeeAlso: #1986,#1957
  4916.  
  4917. Format of NetWare "AFP 2.0 Create Directory" reply buffer:
  4918. Offset    Size    Description    (Table 1986)
  4919.  00h    DWORD    new directory ID
  4920. SeeAlso: #1985,#1958
  4921. --------N-21F223SF0E-------------------------
  4922. INT 21 - Novell NetWare v2+ - AFP 2.0 CREATE FILE
  4923.     AX = F223h subfn 0Eh
  4924.     CX = length of request buffer in bytes
  4925.     DX = length of reply buffer in bytes
  4926.     DS:SI -> request buffer (see #1987)
  4927.     ES:DI -> reply buffer (see #1988)
  4928. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4929. SeeAlso: AH=F2h"Novell",AX=F223h/SF=0Dh
  4930.  
  4931. Format of NetWare "AFP 2.0 Create File" request packet:
  4932. Offset    Size    Description    (Table 1987)
  4933.  00h    WORD    (big-endian) length of following data
  4934.  02h    BYTE    0Eh (function "AFP 2.0 Create File")
  4935.  03h    BYTE    volume number
  4936.  04h    DWORD    AFP entry ID
  4937.  08h    BYTE    flag: delete existing file? (00h no, 01h yes)
  4938.  09h 32 BYTEs    Finder information
  4939.  29h  6 BYTEs    ProDOS information
  4940.  2Fh    BYTE    path length
  4941.  30h    var    AFP-style pathname (relative to AFP entry ID)
  4942. SeeAlso: #1988,#1959
  4943.  
  4944. Format of NetWare "AFP 2.0 Create File" reply packet:
  4945. Offset    Size    Description    (Table 1988)
  4946.  00h    DWORD    new file ID
  4947. SeeAlso: #1987,#1960
  4948. --------N-21F223SF10-------------------------
  4949. INT 21 - Novell NetWare v2+ - AFP 2.0 SET FILE INFORMATION
  4950.     AX = F223h subfn 10h
  4951.     CX = length of request packet in bytes
  4952.     DX = 0000h (no reply packet)
  4953.     DS:SI -> request packet (see #1989)
  4954.     ES:DI ignored
  4955. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4956. SeeAlso: AH=F2h"Novell",AX=F223h/SF=09h,AX=F223h/SF=11h
  4957.  
  4958. Format of NetWare "AFP 2.0 Set File Information" request packet:
  4959. Offset    Size    Description    (Table 1989)
  4960.  00h    WORD    (big-endian) length of following data
  4961.  02h    BYTE    10h (subfunction "AFS 2.0 Set File Information")
  4962.  03h    BYTE    volume number
  4963.  04h    DWORD    AFP entry ID
  4964.  08h    WORD    request bitmap (see #1975)
  4965.  0Ah    WORD    directory/file attributes (see #1990)
  4966.  0Ch    WORD    creation date in AFP format
  4967.  0Eh    WORD    last-access date in AFP format
  4968.  10h    WORD    last-modified date in AFP format
  4969.  12h    WORD    last-modified time in AFP format
  4970.  14h    WORD    last-backup date in AFP format
  4971.  16h    WORD    last-backup time in AFP format
  4972.  18h 32 BYTEs    Finder information
  4973.  38h  6 BYTEs    ProDOS information
  4974.  3Eh    BYTE    path length
  4975.  3Fh  N BYTEs    AFP-style pathname (relative to AFP entry ID)
  4976. SeeAlso: #1974
  4977.  
  4978. Bitfields for NetWare AFP directory/file attributes:
  4979. Bit(s)    Description    (Table 1990)
  4980.  0    read-only
  4981.  1    hidden
  4982.  2    system
  4983.  3    execute-only
  4984.  4    subdirectory
  4985.  5    archive
  4986.  7    shareable file
  4987. SeeAlso: #1989
  4988. --------N-21F223SF11-------------------------
  4989. INT 21 - Novell NetWare v2+ - AFP 2.0 SCAN FILE INFORMATION
  4990.     AX = F223h subfn 11h
  4991.     CX = length of request buffer in bytes
  4992.     DX = length of reply buffer in bytes
  4993.     DS:SI -> request buffer (see #1991)
  4994.     ES:DI -> reply buffer (see #1992)
  4995. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  4996. SeeAlso: AH=F2h"Novell",AX=F223h/SF=0Dh,AX=F223h/SF=10h
  4997.  
  4998. Format of NetWare "AFP 2.0 Scan File Information" request packet:
  4999. Offset    Size    Description    (Table 1991)
  5000.  00h    WORD    (big-endian) length of following data
  5001.  02h    BYTE    11h (subfunction "AFP 2.0 Scan File Information")
  5002.  03h    BYTE    volume number
  5003.  04h    DWORD    AFP entry ID
  5004.  08h    DWORD    AFP last-seen ID (from previous call)
  5005.         FFFFFFFFh on first call
  5006.  0Ch    WORD    number of entries to return (max. 4)
  5007.  0Eh    WORD    search bitmap (see #1977)
  5008.  10h    WORD    request bitmap (see #1965)
  5009.  12h    BYTE    path length
  5010.  13h  N BYTEs    AFS-style directory path (relative to AFP entry ID)
  5011. SeeAlso: #1992
  5012.  
  5013. Format of NetWare "AFP 2.0 Scan File Information" reply packet:
  5014. Offset    Size    Description    (Table 1992)
  5015.  00h    WORD    number of entries returned
  5016.  02h 120N BYTEs    file information records (see #1993)
  5017. SeeAlso: #1991
  5018.  
  5019. Format of NetWare AFP 2.0 file information:
  5020. Offset    Size    Description    (Table 1993)
  5021.  00h    DWORD    AFP entry ID
  5022.  04h    DWORD    parent directory's AFP entry ID
  5023.  08h    WORD    directory/file attributes (see #1967)
  5024.  0Ah    DWORD    length of data fork
  5025.  0Eh    DWORD    length of resource fork
  5026.  12h    WORD    total files and subdirectories contained within entry
  5027.         always 0000h if entry is a file
  5028.  14h    WORD    creation date in AFP format
  5029.  16h    WORD    last-access date in AFP format
  5030.  18h    WORD    last-modified date in AFP format
  5031.  1Ah    WORD    last-modified time in AFP format
  5032.  1Ch    WORD    last-backup date in AFP format
  5033.  1Eh    WORD    last-backup time in AFP format
  5034.  20h 32 BYTEs    Finder information
  5035.  40h 32 BYTEs    long filename
  5036.  60h    DWORD    NetWare object ID of owner
  5037.  64h 12 BYTEs    short filename (MS-DOS 8.3 format)
  5038.  70h    WORD    access privileges (see #1968)
  5039.  72h  6 BYTEs    ProDOS information
  5040. SeeAlso: #1992,#1965,#1966
  5041. --------N-21F223SF12-------------------------
  5042. INT 21 - Novell NetWare v2+ - AFP GET DOS FILENAME FROM ENTRY ID
  5043.     AX = F223h subfn 12h
  5044.     CX = length of request buffer in bytes
  5045.     DX = length of reply buffer in bytes
  5046.     DS:SI -> request buffer (see #1994)
  5047.     ES:DI -> reply buffer (see #1995)
  5048. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5049. SeeAlso: AH=F2h"Novell",AX=F223h/SF=04h,AX=F223h/SF=06h
  5050.  
  5051. Format of NetWare "AFP Get DOS Name from Entry ID" request packet:
  5052. Offset    Size    Description    (Table 1994)
  5053.  00h    WORD    (big-endian) length of following data
  5054.  02h    BYTE    12h (subfunction "AFP Get DOS Name From Entry ID")
  5055.  03h    BYTE    volume number
  5056.  04h    DWORD    AFP entry ID
  5057. SeeAlso: #1995
  5058.  
  5059. Format of NetWare "AFP Get DOS Name from Entry ID" reply packet:
  5060. Offset    Size    Description    (Table 1995)
  5061.  00h    BYTE    length of DOS pathname
  5062.  01h  N BYTEs    pathname corresponding to AFP entry ID
  5063. SeeAlso: #1994
  5064. --------N-21F223SF13-------------------------
  5065. INT 21 - Novell NetWare v2+ - AFP GET MACINTOSH INFORMATION ON DELETED FILE
  5066.     AX = F223h subfn 13h
  5067.     CX = length of request buffer in bytes
  5068.     DX = length of reply buffer in bytes
  5069.     DS:SI -> request buffer (see #1996)
  5070.     ES:DI -> reply buffer (see #1997)
  5071. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5072. SeeAlso: AH=F2h"Novell",AX=F223h/SF=04h,AX=F223h/SF=05h,AX=F223h/SF=09h
  5073.  
  5074. Format of NetWare "AFP Get Macintosh Info on Deleted File" request packet:
  5075. Offset    Size    Description    (Table 1996)
  5076.  00h    WORD    (big-endian) length of following data
  5077.  02h    BYTE    13h (subfunction "AFP Get Macintosh Info on Deleted File")
  5078.  03h    BYTE    volume number
  5079.  04h    DWORD    server's DOS directory entry index
  5080. SeeAlso: #1997
  5081.  
  5082. Format of NetWare "AFP Get Macintosh Info on Deleted File" reply packet:
  5083. Offset    Size    Description    (Table 1997)
  5084.  00h 32 BYTEs    Finder information
  5085.  20h  6 BYTEs    ProDOS information
  5086.  26h    DWORD    size of resource fork
  5087.  2Ah    BYTE    length of filename
  5088.  2Bh  N BYTEs    filename
  5089. SeeAlso: #1996
  5090. --------N-21F23D-----------------------------
  5091. INT 21 - Novell NetWare - COMMIT FILE
  5092.     AX = F23Dh
  5093.     CX = length of request packet in bytes
  5094.     DX = 0000h (no reply packet)
  5095.     DS:SI -> request packet (see #2002)
  5096.     ES:DI ignored
  5097. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5098. SeeAlso: AH=3Eh,AH=F2h"Novell",AX=F23Eh,AX=F243h
  5099. --------N-21F23E-----------------------------
  5100. INT 21 - Novell NetWare - FILE SEARCH INITIALIZE (FindFirst)
  5101.     AX = F23Eh
  5102.     CX = length of request buffer in bytes
  5103.     DX = length of reply buffer in bytes
  5104.     DS:SI -> request buffer (see #1998)
  5105.     ES:DI -> reply buffer (see #1999)
  5106. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5107. SeeAlso: AH=4Eh,AH=F2h"Novell",AX=F23Fh,AX=F242h
  5108.  
  5109. Format of NetWare "File Search Initialize" request packet:
  5110. Offset    Size    Description    (Table 1998)
  5111.  00h    BYTE    directory handle
  5112.  01h    BYTE    length of directory path
  5113.  02h  N BYTEs    path of directory to search, in VOLUME:DIRECTORY/... format
  5114. SeeAlso: #1999,#2000
  5115.  
  5116. Format of NetWare "File Search Initialize" reply packet:
  5117. Offset    Size    Description    (Table 1999)
  5118.  00h    BYTE    volume number
  5119.  01h    WORD    directory ID
  5120.  03h    WORD    search sequence number
  5121.  05h    BYTE    directory access rights
  5122. SeeAlso: #1998,#2001
  5123. --------N-21F23F-----------------------------
  5124. INT 21 - Novell NetWare - FILE SEARCH CONTINUE (FindNext)
  5125.     AX = F23Fh
  5126.     CX = length of request buffer in bytes
  5127.     DX = length of reply buffer in bytes
  5128.     DS:SI -> request buffer (see #2000)
  5129.     ES:DI -> reply buffer (see #2001)
  5130. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5131. SeeAlso: AH=4Eh,AH=F2h"Novell",AX=F23Eh,AX=F242h
  5132.  
  5133. Format of NetWare "File Search Continue" request packet:
  5134. Offset    Size    Description    (Table 2000)
  5135.  00h    BYTE    volume number
  5136.  02h    WORD    directory ID from File Search Initialize
  5137.  04h    WORD    search sequence (set to FFFFh before first call)
  5138.  06h    BYTE    search attributes
  5139.  07h    BYTE    length of search directory path
  5140.  08h  N BYTEs    name of search directory in VOLUME:DIRECTORY/.../DIR format
  5141. SeeAlso: #2001
  5142.  
  5143. Format of NetWare "File Search Continue" reply packet:
  5144. Offset    Size    Description    (Table 2001)
  5145.  00h    WORD    next search sequence
  5146.  02h    WORD    directory ID from File Search Initialize
  5147.  04h    WORD    reserved for future use
  5148.  06h 14 BYTEs    filename
  5149.  14h    BYTE    file attributes
  5150.  15h    BYTE    file mode
  5151.  16h    DWORD    file length
  5152.  2Ah    WORD    creation date
  5153.  2Ch    WORD    last-access date
  5154.  2Eh    WORD    last-modification date
  5155.  30h    WORD    last-modification time
  5156. SeeAlso: #2000
  5157. --------N-21F242-----------------------------
  5158. INT 21 - Novell NetWare - CLOSE FILE
  5159.     AX = F242h
  5160.     CX = length of request packet in bytes
  5161.     DX = 0000h (no reply packet)
  5162.     DS:SI -> request packet (see #2002)
  5163.     ES:DI ignored
  5164. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5165. SeeAlso: AH=3Eh,AH=F2h"Novell",AX=F23Eh,AX=F243h,AX=F24Ah
  5166.  
  5167. Format of NetWare "Commit/Close File" request packet:
  5168. Offset    Size    Description    (Table 2002)
  5169.  00h    BYTE    reserved (0)
  5170.  01h  6 BYTEs    NetWare file handle
  5171. --------N-21F243-----------------------------
  5172. INT 21 - Novell NetWare - CREATE FILE
  5173.     AX = F243h
  5174.     CX = length of request buffer in bytes
  5175.     DX = length of reply buffer in bytes
  5176.     DS:SI -> request buffer (see #2003)
  5177.     ES:DI -> reply buffer (see #2004)
  5178. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5179. SeeAlso: AH=3Ch,AH=F2h"Novell",AX=F23Eh,AX=F242h,AX=F24Ah,AX=F24Dh
  5180.  
  5181. Format of NetWare "Create File" request packet:
  5182. Offset    Size    Description    (Table 2003)
  5183.  00h    BYTE    directory handle
  5184.  01h    BYTE    file attributes
  5185.  02h    BYTE    length of filename
  5186.  03h  N BYTEs    filename in DOS format
  5187. SeeAlso: #2004
  5188.  
  5189. Format of NetWare "Create File" reply packet:
  5190. Offset    Size    Description    (Table 2004)
  5191.  00h  6 BYTEs    NetWare file handle
  5192.  06h    WORD    reserved
  5193.  08h 14 BYTEs    DOS-format filename
  5194.  16h    BYTE    file attributes
  5195.  17h    BYTE    file execute type
  5196.  18h    DWORD    file length
  5197.  1Ch    WORD    creation date
  5198.  1Eh    WORD    last-access date
  5199.  20h    WORD    last-modification date
  5200.  22h    WORD    last-modification time
  5201. SeeAlso: #2003
  5202. --------N-21F244-----------------------------
  5203. INT 21 - Novell NetWare - FILE SERVICES - ERASE FILE
  5204.     AX = F244h
  5205.     CX = length of request packet in bytes
  5206.     DX = 0000h (no reply packet)
  5207.     DS:SI -> request packet (see #2006)
  5208.     ES:DI ignored
  5209. Return: AL = status (see #2005)
  5210. Note:    this function only marks the file for deletion; use AH=E2h/SF=CEh to
  5211.       actually delete all marked files
  5212. SeeAlso: AH=13h,AH=41h,AH=E2h/SF=0Bh,AH=E3h/SF=CEh
  5213.  
  5214. (Table 2005)
  5215. Values for NetWare function status:
  5216.  00h    successful
  5217.  98h    nonexistent volume
  5218.  9Bh    invaid directory handle
  5219.  9Ch    invalid path
  5220.  FFh    no files found
  5221. SeeAlso: #1749,#2507 at INT 2F/AX=7A20h/BX=0000h
  5222.  
  5223. Format of NetWare "Erase Files" request packet:
  5224. Offset    Size    Description    (Table 2006)
  5225.  00h    BYTE    directory handle
  5226.  01h    BYTE    search attributes (see #1073 at AX=4301h)
  5227.  02h    BYTE    length of filespec
  5228.  03h  N BYTEs    ASCIZ filespec (may include wildcards)
  5229. --------N-21F247-----------------------------
  5230. INT 21 - Novell NetWare - GET CURRENT FILE SIZE
  5231.     AX = F247h
  5232.     CX = length of request buffer in bytes
  5233.     DX = length of reply buffer in bytes
  5234.     DS:SI -> request buffer (see #2007)
  5235.     ES:DI -> reply buffer (see #2008)
  5236. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5237. SeeAlso: AH=42h,AH=F2h"Novell",AX=F23Eh,AX=F242h,AX=F24Ah,AX=F24Dh
  5238.  
  5239. Format of NetWare "Get Current Size of File" request packet:
  5240. Offset    Size    Description    (Table 2007)
  5241.  00h    BYTE    reserved for future use
  5242.  01h  6 BYTEs    NetWare file handle
  5243. SeeAlso: #2008
  5244.  
  5245. Format of NetWare "Get Current Size of File" reply packet:
  5246. Offset    Size    Description    (Table 2008)
  5247.  00h    DWORD    current size of file
  5248. SeeAlso: #2007
  5249. --------N-21F24A-----------------------------
  5250. INT 21 - Novell NetWare - COPY FROM ONE FILE TO ANOTHER
  5251.     AX = F24Ah
  5252.     CX = length of request buffer in bytes
  5253.     DX = length of reply buffer in bytes
  5254.     DS:SI -> request buffer (see #2009)
  5255.     ES:DI -> reply buffer (see #2010)
  5256. Return: AX = status (see #2005)
  5257. Note:    this function only marks the file for deletion; use AH=E2h/SF=CEh to
  5258.       actually delete all marked files
  5259. SeeAlso: AH=F2h"Novell",AX=F243h,AX=F247h,AH=F3h"NetWare"
  5260.  
  5261. Format of NetWare "Copy from One File to Another" request packet:
  5262. Offset    Size    Description    (Table 2009)
  5263.  00h    BYTE    reserved for future use
  5264.  01h  6 BYTEs    source NetWare file handle
  5265.  07h  6 BYTEs    destination NetWare file handle
  5266.  0Dh    DWORD    source file offset
  5267.  11h    DWORD    destination file offset
  5268.  15h    DWORD    number of bytes to copy
  5269. SeeAlso: #2010
  5270.  
  5271. Format of NetWare "Copy from One File to Another" reply packet:
  5272. Offset    Size    Description    (Table 2010)
  5273.  00h    DWORD    number of bytes actually copied
  5274. SeeAlso: #2009
  5275. --------N-21F24D-----------------------------
  5276. INT 21 - Novell NetWare - CREATE NEW FILE
  5277.     AX = F24Dh
  5278.     CX = length of request buffer in bytes
  5279.     DX = length of reply buffer in bytes
  5280.     DS:SI -> request buffer (see #2011)
  5281.     ES:DI -> reply buffer (see #2012)
  5282. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5283. SeeAlso: AX=6C00h,AH=F2h"Novell",AX=F23Eh,AX=F242h,AX=F243h
  5284.  
  5285. Format of NetWare "Create New File" request packet:
  5286. Offset    Size    Description    (Table 2011)
  5287.  00h    BYTE    directory handle
  5288.  01h    BYTE    file attributes
  5289.  02h    BYTE    length of filename
  5290.  03h  N BYTEs    filename in DOS format
  5291. SeeAlso: #2012
  5292.  
  5293. Format of NetWare "Create New File" reply packet:
  5294. Offset    Size    Description    (Table 2012)
  5295.  00h  6 BYTEs    NetWare file handle
  5296.  06h    WORD    reserved
  5297.  08h 14 BYTEs    DOS-format filename
  5298.  16h    BYTE    file attributes
  5299.  17h    BYTE    file execute type
  5300.  18h    DWORD    file length
  5301.  1Ch    WORD    creation date
  5302.  1Eh    WORD    last-access date
  5303.  20h    WORD    last-modification date
  5304.  22h    WORD    last-modification time
  5305. SeeAlso: #2011
  5306. --------N-21F24E-----------------------------
  5307. INT 21 - Novell NetWare v2+ - ALLOW TASK ACCESS TO FILE
  5308.     AX = F24Eh
  5309.     CX = length of request buffer in bytes
  5310.     DX = length of reply buffer in bytes
  5311.     DS:SI -> request buffer (see #2013)
  5312.     ES:DI -> reply buffer (see #2014)
  5313. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5314.     reply buffer filled
  5315. Desc:    allow calling task to gain access to an already-open file belonging
  5316.       to another task of the same client
  5317. Note:    the caller receives the same access rights as the owning task, and
  5318.       must use the returned new handle to access the file
  5319. SeeAlso: AH=F2h"NetWare",AX=F244h
  5320.  
  5321. Format of NetWare "Allow Task Access to File" request packet:
  5322. Offset    Size    Description    (Table 2013)
  5323.  00h    BYTE    reserved for future use
  5324.  01h  6 BYTEs    NetWare file handle
  5325. SeeAlso: #2014
  5326.  
  5327. Format of NetWare "Allow Task Access to File" reply packet:
  5328. Offset    Size    Description    (Table 2014)
  5329.  00h  6 BYTEs    new file handle
  5330. SeeAlso: #2013
  5331. --------N-21F256SF01-------------------------
  5332. INT 21 - Novell NetWare - CLOSE EXTENDED ATTRIBUTE HANDLE
  5333.     AX = F256h subfn 01h
  5334.     CX = length of request packet in bytes
  5335.     DX = 0000h (no reply packet)
  5336.     DS:SI -> request packet (see #2015)
  5337.     ES:DI ignored
  5338. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5339. SeeAlso: AH=F2h"Novell",AX=F256h/SF=02h,AX=F256h/SF=04h,AX=F256h/SF=05h
  5340.  
  5341. Format of NetWare "Close Extended Attribute Handle" request packet:
  5342. Offset    Size    Description    (Table 2015)
  5343.  00h    BYTE    01h (subfunction "Close Extended Attribute Handle")
  5344.  01h    WORD    reserved for future use
  5345.  03h    DWORD    extended attribute handle
  5346. --------N-21F256SF02-------------------------
  5347. INT 21 - Novell NetWare - WRITE EXTENDED ATTRIBUTE
  5348.     AX = F256h subfn 02h
  5349.     CX = length of request buffer in bytes
  5350.     DX = length of reply buffer in bytes
  5351.     DS:SI -> request buffer (see #2016)
  5352.     ES:DI -> reply buffer (see #2017)
  5353. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5354. SeeAlso: AH=F2h"Novell",AX=F256h/SF=01h,AX=F256h/SF=03h,AX=F256h/SF=05h
  5355.  
  5356. Format of NetWare "Write Extended Attribute" request packet:
  5357. Offset    Size    Description    (Table 2016)
  5358.  00h    BYTE    02h (subfunction "Write Extended Attribute")
  5359.  01h    WORD    flags (see #2027)
  5360.  03h  8 BYTEs    extended attribute handle structure (see #2028)
  5361.  0Bh    DWORD    write size
  5362.  0Fh    DWORD    write position
  5363.  13h    DWORD    access flag
  5364.  17h    WORD    length of value
  5365.  19h    WORD    key length
  5366.  1Bh  N BYTEs    key
  5367.       N BYTEs    value
  5368. SeeAlso: #2016,#2018
  5369.  
  5370. Format of NetWare "Write Extended Attribute" reply packet:
  5371. Offset    Size    Description    (Table 2017)
  5372.  00h    DWORD    error code
  5373.  04h    DWORD    number of bytes written
  5374.  08h    DWORD    new extended attribute handle
  5375. SeeAlso: #2016
  5376. --------N-21F256SF03-------------------------
  5377. INT 21 - Novell NetWare - READ EXTENDED ATTRIBUTE
  5378.     AX = F256h subfn 03h
  5379.     CX = length of request buffer in bytes
  5380.     DX = length of reply buffer in bytes
  5381.     DS:SI -> request buffer (see #2018)
  5382.     ES:DI -> reply buffer (see #2019)
  5383. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5384. SeeAlso: AH=F2h"Novell",AX=F256h/SF=01h,AX=F256h/SF=04h,AX=F256h/SF=05h
  5385.  
  5386. Format of NetWare "Read Extended Attribute" request packet:
  5387. Offset    Size    Description    (Table 2018)
  5388.  00h    BYTE    03h (subfunction "Read Extended Attribute")
  5389.  01h    WORD    flags (see #2027)
  5390.  03h  8 BYTEs    extended attribute handle structure (see #2028)
  5391.  0Bh    DWORD    read position
  5392.  0Fh    DWORD    inspect size
  5393.  13h    WORD    key length
  5394.  15h  N BYTEs    key
  5395. SeeAlso: #2019,#2016
  5396.  
  5397. Format of NetWare "Read Extended Attribute" reply packet:
  5398. Offset    Size    Description    (Table 2019)
  5399.  00h    DWORD    error code
  5400.  04h    DWORD    total extended attribute value length
  5401.  08h    DWORD    new extended attribute handle
  5402.  0Ch    DWORD    access flag
  5403.  10h    WORD    value length
  5404.  12h  N BYTEs    EA value
  5405. SeeAlso: #2018
  5406. --------N-21F256SF04-------------------------
  5407. INT 21 - Novell NetWare - ENUMERATE EXTENDED ATTRIBUTES
  5408.     AX = F256h subfn 04h
  5409.     CX = length of request buffer in bytes
  5410.     DX = length of reply buffer in bytes
  5411.     DS:SI -> request buffer (see #2020)
  5412.     ES:DI -> reply buffer (see #2021)
  5413. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5414. SeeAlso: AH=F2h"Novell",AX=F256h/SF=01h,AX=F256h/SF=02h,AX=F256h/SF=05h
  5415.  
  5416. Format of NetWare "Enumerate Extended Attributes" request packet:
  5417. Offset    Size    Description    (Table 2020)
  5418.  00h    BYTE    04h (subfunction "Enumerate Extended Attributes")
  5419.  01h    WORD    flags (see #2027)
  5420.  03h  8 BYTEs    extended attribute handle structure (see #2028)
  5421.  0Bh    DWORD    inspect size
  5422.  0Fh    WORD    enumeration sequence
  5423.  11h    WORD    key length
  5424.  13h  N BYTEs    key
  5425. SeeAlso: #2021
  5426.  
  5427. Format of NetWare "Enumerate Extended Attributes" reply packet:
  5428. Offset    Size    Description    (Table 2021)
  5429.  00h    DWORD    error code
  5430.  04h    DWORD    total extended attributes
  5431.  08h    DWORD    total extended attribute data size
  5432.  0Ch    DWORD    total extended attribute key size
  5433.  10h    DWORD    new extended attribute handle
  5434. ---information level 0---
  5435.  14h  2 WORDs    reserved
  5436. ---information level 1---
  5437.  14h    WORD    number of enumerated extended attribute structures
  5438.  16h    var    EA structure level 1
  5439. ---information level 6---
  5440.  14h    WORD    reserved
  5441.  16h    var    EA structure level 6
  5442. ---information level 7---
  5443.  14h    WORD    number of enumerated extended attribute structures
  5444.  16h    var    EA structure level 7
  5445. SeeAlso: #2020
  5446.  
  5447. Format of NetWare Extended Attribute structure level 1:
  5448. Offset    Size    Description    (Table 2022)
  5449.  00h    DWORD    length of EA value
  5450.  04h    WORD    length of EA key
  5451.  06h    DWORD    access flag
  5452.  0Ah  N BYTEs    key
  5453. SeeAlso: #2021,#2023,#2024
  5454.  
  5455. Format of NetWare Extended Attribute structure level 6:
  5456. Offset    Size    Description    (Table 2023)
  5457.  00h    DWORD    length of EA value
  5458.  04h    WORD    length of EA key
  5459.  06h    DWORD    access flag
  5460.  0Ah    DWORD    key extents
  5461.  0Eh    DWORD    value extents
  5462.  12h  N BYTEs    key
  5463. SeeAlso: #2021,#2022,#2024
  5464.  
  5465. Format of NetWare Extended Attribute structure level 7:
  5466. Offset    Size    Description    (Table 2024)
  5467.  00h    BYTE    key length
  5468.  01h  N BYTEs    key
  5469.     BYTE    00h
  5470. SeeAlso: #2021,#2022,#2023
  5471. --------N-21F256SF05-------------------------
  5472. INT 21 - Novell NetWare - DUPLICATE EXTENDED ATTRIBUTES
  5473.     AX = F256h subfn 05h
  5474.     CX = length of request buffer in bytes
  5475.     DX = length of reply buffer in bytes
  5476.     DS:SI -> request buffer (see #2025)
  5477.     ES:DI -> reply buffer (see #2026)
  5478. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5479. SeeAlso: AH=F2h"Novell",AX=F256h/SF=01h,AX=F256h/SF=02h,AX=F256h/SF=04h
  5480.  
  5481. Format of NetWare "Duplicate Extended Attributes" request packet:
  5482. Offset    Size    Description    (Table 2025)
  5483.  00h    BYTE    05h (subfunction "Duplicate Extended Attributes")
  5484.  01h    WORD    source flags (see #2027)
  5485.  03h    WORD    destination flags (see #2027)
  5486.  05h  8 BYTEs    source extended attribute structure (see #2028)
  5487.  0Dh  8 BYTEs    destination extended attribute structure (see #2028)
  5488. SeeAlso: #2026
  5489.  
  5490. Format of NetWare "Duplicate Extended Attributes" reply packet:
  5491. Offset    Size    Description    (Table 2026)
  5492.  00h    DWORD    number duplicated
  5493.  04h    DWORD    data size duplicated
  5494.  08h    DWORD    key size duplicated
  5495. SeeAlso: #2025
  5496.  
  5497. Bitfields for NetWare extended attribute flags:
  5498. Bit(s)    Description    (Table 2027)
  5499.  1-0    extended attribute handle structure type
  5500.     00 volume number and directory entry number
  5501.     01 NetWare file handle
  5502.     10 extended attribute handle
  5503.     11 not used
  5504.  2    close handle on error
  5505.  6-4    information level (0,1,6,7)
  5506.  7    not used
  5507. SeeAlso: #2025,#2028
  5508.  
  5509. Format of NetWare extended attribute structure:
  5510. Offset    Size    Description    (Table 2028)
  5511. ---type 0---
  5512.  00h    DWORD    volume number
  5513.  04h    DWORD    directory entry number
  5514. ---type 1---
  5515.  00h    DWORD    NetWare file handle
  5516.  04h  4 BYTEs    unused
  5517. ---type 2---
  5518.  00h    DWORD    extended attribute handle
  5519.  04h  4 BYTEs    unused
  5520. SeeAlso: #2027
  5521. --------N-21F257SF01-------------------------
  5522. INT 21 - Novell NetWare - OPEN/CREATE FILE OR SUBDIRECTORY
  5523.     AX = F257h subfn 01h
  5524.     CX = length of request buffer in bytes
  5525.     DX = length of reply buffer in bytes
  5526.     DS:SI -> request buffer (see #2029)
  5527.     ES:DI -> reply buffer (see #2030)
  5528. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5529. SeeAlso: AH=F2h"Novell",AX=6C00h,AX=F257h/SF=02h,AX=F257h/SF=04h
  5530.  
  5531. Format of NetWare "Open/Create File or Subdirectory" request packet:
  5532. Offset    Size    Description    (Table 2029)
  5533.  00h    BYTE    01h (subfunction "Open/Create File or Subdirectory")
  5534.  01h    BYTE    name space (see #2042)
  5535.  02h    BYTE    open/create mode
  5536.  03h    WORD    search attributes
  5537.  05h    DWORD    return information mask
  5538.  09h    DWORD    create attributes
  5539.  0Dh    WORD    desired access rights (see #2032)
  5540.  0Fh        NetWare handle/path structure
  5541. SeeAlso: #2030
  5542.  
  5543. Format of NetWare "Open/Create File or Subdirectory" reply packet:
  5544. Offset    Size    Description    (Table 2030)
  5545.  00h    DWORD    file handle
  5546.  04h    BYTE    open/create action
  5547.         00h open
  5548.         01h replace
  5549.         03h create
  5550.  05h    BYTE    reserved
  5551. SeeAlso: #2029
  5552.  
  5553. Format of NetWare Handle/Path structure:
  5554. Offset    Size    Description    (Table 2031)
  5555.  00h    BYTE    volume number
  5556.  01h    DWORD    directory base or short handle
  5557.  05h    BYTE    handle flag
  5558.         00h short directory handle
  5559.         01h directory base
  5560.         FFh no handle
  5561.  06h    BYTE    path component count
  5562.  07h  N BYTEs    path component
  5563.  
  5564. Bitfields for NetWare desired access rights:
  5565. Bit(s)    Description    (Table 2032)
  5566.  0    read-only mode
  5567.  1    write-only
  5568.  2    deny read
  5569.  3    deny write
  5570.  4    compatibility mode
  5571.  6    write-through mode
  5572. SeeAlso: #2029
  5573. --------N-21F257SF02-------------------------
  5574. INT 21 - Novell NetWare - INITIALIZE SEARCH
  5575.     AX = F257h subfn 02h
  5576.     CX = length of request buffer in bytes
  5577.     DX = length of reply buffer in bytes
  5578.     DS:SI -> request buffer (see #2033)
  5579.     ES:DI -> reply buffer (see #2034)
  5580. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5581. SeeAlso: AH=4Eh,AH=F2h"Novell",AX=F257h/SF=01h,AX=F257h/SF=03h
  5582.  
  5583. Format of NetWare "Initialize Search" request packet:
  5584. Offset    Size    Description    (Table 2033)
  5585.  00h    BYTE    02h (subfunction "Initialize Search")
  5586.  01h    BYTE    name space (see #2042)
  5587.  02h    BYTE    reserved for future use
  5588.  03h        NetWare Handle/Path structure (see #2031)
  5589. SeeAlso: #2034
  5590.  
  5591. Format of NetWare "Initialize Search" reply packet:
  5592. Offset    Size    Description    (Table 2034)
  5593.  00h  9 BYTEs    search sequence
  5594.         BYTE    volume number
  5595.         DWORD    directory number
  5596.         DWORD    current directory number
  5597. SeeAlso: #2033
  5598. --------N-21F257SF03-------------------------
  5599. INT 21 - Novell NetWare - SCAN NAMESPACE ENTRY INFO
  5600.     AX = F257h subfn 03h
  5601.     CX = length of request buffer in bytes
  5602.     DX = length of reply buffer in bytes
  5603.     DS:SI -> request buffer (see #2035)
  5604.     ES:DI -> reply buffer (see #2036)
  5605. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5606. SeeAlso: AH=F2h"Novell",AX=F257h/SF=04h,AX=F257h/SF=05h
  5607.  
  5608. Format of NetWare "Search for File or Subdirectory" request packet:
  5609. Offset    Size    Description    (Table 2035)
  5610.  00h    BYTE    03h (subfunction "Search for File or Subdirectory")
  5611.     ???
  5612. SeeAlso: #2036
  5613.  
  5614. Format of NetWare "Search for File or Subdirectory" reply packet:
  5615. Offset    Size    Description    (Table 2036)
  5616.  00h    ???
  5617. SeeAlso: #2035
  5618. --------N-21F257SF04-------------------------
  5619. INT 21 - Novell NetWare - RENAME OR MOVE FILE OR SUBDIRECTORY
  5620.     AX = F257h subfn 04h
  5621.     CX = length of request packet in bytes
  5622.     DX = 0000h (no reply packet)
  5623.     DS:SI -> request packet (see #2037)
  5624.     ES:DI ignored
  5625. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5626. SeeAlso: AH=56h,AH=F2h"Novell",AX=F257h/SF=02h,AX=F257h/SF=03h,AX=F257h/SF=05h
  5627.  
  5628. Format of NetWare "Rename or Move File or Subdirectory" request packet:
  5629. Offset    Size    Description    (Table 2037)
  5630.  00h    BYTE    04h (subfunction "Rename or Move File or Subdirectory")
  5631.  01h    BYTE    name space (see #2042)
  5632.  02h    BYTE    rename flags
  5633.         bit 0: rename successful
  5634.         bit 1: compatibility mode
  5635.  03h    WORD    search attributes
  5636.  05h        source NetWare Handle Path
  5637.         destination NetWare Handle Path
  5638. --------N-21F257SF05-------------------------
  5639. INT 21 - Novell NetWare - SCAN FILE OR SUBDIRECTORY FOR TRUSTEES
  5640.     AX = F257h subfn 05h
  5641.     CX = length of request buffer in bytes
  5642.     DX = length of reply buffer in bytes
  5643.     DS:SI -> request buffer (see #2038)
  5644.     ES:DI -> reply buffer (see #2039)
  5645. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5646. SeeAlso: AH=F2h"Novell",AX=F257h/SF=04h,AX=F257h/SF=06h
  5647.  
  5648. Format of NetWare "Scan File or Subdirectory for Trustees" request packet:
  5649. Offset    Size    Description    (Table 2038)
  5650.  00h    BYTE    05h (subfunction "Scan File or Subdirectory for Trustees")
  5651.  01h    BYTE    name space (see #2042)
  5652.  02h    BYTE    reserved for future use
  5653.  03h    DWORD    scan sequence (set to 00000000h before first call)
  5654.  07h        NetWare Handle/Path structure (see #2031)
  5655. SeeAlso: #2039
  5656.  
  5657. Format of NetWare "Scan File or Subdirectory for Trustees" reply packet:
  5658. Offset    Size    Description    (Table 2039)
  5659.  00h    DWORD    next scan sequence or FFFFFFFFh if no more
  5660.  04h    WORD    number of trustee object IDs returned
  5661.  06h        trustee structure
  5662. SeeAlso: #2038
  5663. --------N-21F257SF06-------------------------
  5664. INT 21 - Novell NetWare v3+ - GET INFORMATION ABOUT FILE OR DIRECTORY
  5665.     AX = F257h subfn 06h
  5666.     CX = length of request buffer in bytes
  5667.     DX = length of reply buffer in bytes
  5668.     DS:SI -> request buffer (see #2040)
  5669.     ES:DI -> reply buffer (see #2043)
  5670. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5671.     reply buffer filled
  5672. SeeAlso: AH=F2h"Novell",AX=F257h/SF=02h,AX=F257h/SF=05h,AX=F257h/SF=07h
  5673.  
  5674. Format of NetWare "Get NS Entry Info" request buffer:
  5675. Offset    Size    Description    (Table 2040)
  5676.  00h    BYTE    06h (subfunction "Get NS Entry Info")
  5677.  01h    BYTE    name space (see #2042)
  5678.  02h    BYTE    destination name space
  5679.  03h    WORD    search attributes
  5680.  05h    DWORD    return information mask (see #2041)
  5681.  09h    BYTE    volume number
  5682.  0Ah    DWORD    directory base
  5683.  0Eh    BYTE    handle flag
  5684.         00h first byte of dir base is dir handle; ignore volume number
  5685.         01h dir base = unique ID, volume number set
  5686.         FFh volume number and dir base ignored, volume part of path
  5687.  0Fh    BYTE    number of path components
  5688.  10h  N BYTEs    list of path components (each a counted string)
  5689. SeeAlso: #2043
  5690.  
  5691. Bitfields for return information mask:
  5692. Bit(s)    Description    (Table 2041)
  5693.  0    include filename
  5694.  1    data stream space allocated info
  5695.  2    attributes info
  5696.  3    data stream size info
  5697.  4    total space allocated for all data streams
  5698.  5    extended attributes info
  5699.  6    archive info
  5700.  7    modify info
  5701.  8    create info
  5702.  9    name space info
  5703.  10    directory info
  5704.  11    rights info
  5705.  
  5706. (Table 2042)
  5707. Values for NetWare name space:
  5708.  00h    DOS
  5709.  01h    Macintosh
  5710.  02h    NFS
  5711.  03h    FTAM
  5712.  04h    OS/2
  5713. SeeAlso: #2040,#2048
  5714.  
  5715. Format of NetWare "Get NS Entry Info" reply buffer:
  5716. Offset    Size    Description    (Table 2043)
  5717.  00h 72 BYTEs    reserved
  5718.  48h    DWORD    creator's name space number
  5719.  4Ch 257 BYTEs    reserved
  5720. SeeAlso: #2040
  5721. --------N-21F257SF07-------------------------
  5722. INT 21 - Novell NetWare - MODIFY FILE OR SUBDIRECTORY DOS INFORMATION
  5723.     AX = F257h subfn 07h
  5724.     CX = length of request packet in bytes
  5725.     DX = 0000h (no reply packet)
  5726.     DS:SI -> request packet (see #2044)
  5727.     ES:DI ignored
  5728. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5729. SeeAlso: AH=F2h"Novell",AX=F257h/SF=04h,AX=F257h/SF=08h
  5730.  
  5731. Format of NetWare "Modify File or Subdirectory DOS Information" request packet:
  5732. Offset    Size    Description    (Table 2044)
  5733.  00h    BYTE    07h (subfunction "Modify File or Subdirectory DOS Information")
  5734.  01h    BYTE    name space (see #2042)
  5735.  02h    BYTE    reserved for future use
  5736.  03h    WORD    search attributes
  5737.  05h    DWORD    modify DOS mask
  5738.  09h        Modify DOS information structure
  5739. --------N-21F257SF08-------------------------
  5740. INT 21 - Novell NetWare - DELETE FILE/DIRECTORY
  5741.     AX = F257h subfn 08h
  5742.     CX = length of request buffer in bytes
  5743.     DX = length of reply buffer in bytes
  5744.     DS:SI -> request buffer (see #2045)
  5745.     ES:DI -> reply buffer (see #2046)
  5746. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5747. SeeAlso: AH=F2h"Novell",AX=F257h/SF=01h,AX=F257h/SF=07h
  5748.  
  5749. Format of NetWare "Delete File/Directory" request packet:
  5750. Offset    Size    Description    (Table 2045)
  5751.  00h    BYTE    08h (subfunction "Delete File/Directory")
  5752.     ???
  5753. SeeAlso: #2046
  5754.  
  5755. Format of NetWare "Delete File/Directory" reply packet:
  5756. Offset    Size    Description    (Table 2046)
  5757.  00h    ???
  5758. SeeAlso: #2045
  5759. --------N-21F257SF09-------------------------
  5760. INT 21 - Novell NetWare - SET SHORT DIRECTORY HANDLE
  5761.     AX = F257h subfn 09h
  5762.     CX = length of request packet in bytes
  5763.     DX = 0000h (no reply packet)
  5764.     DS:SI -> request packet (see #2047)
  5765.     ES:DI ignored
  5766. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5767. SeeAlso: AH=F2h"Novell",AX=F257h/SF=0Ch
  5768.  
  5769. Format of NetWare "Set Short Directory Handle" request packet:
  5770. Offset    Size    Description    (Table 2047)
  5771.  00h    BYTE    09h (subfunction "Set Short Directory Handle")
  5772.  01h    BYTE    name space (see #2042)
  5773.  02h    BYTE    data stream
  5774.  03h    BYTE    destination directory handle
  5775.  04h    BYTE    reserved for future use
  5776.  05h        NetWare Handle/Path structure (see #2031)
  5777. --------N-21F257SF0A-------------------------
  5778. INT 21 - Novell NetWare v3+ - ADD TRUSTEE SET TO FILE OR SUBDIRECTORY
  5779.     AX = F257h subfn 0Ah
  5780.     CX = length of request packet in bytes
  5781.     DX = 0000h (no reply packet)
  5782.     DS:SI -> request packet (see #2048)
  5783.     ES:DI ignored
  5784. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5785.     reply buffer filled
  5786. SeeAlso: AX=F257h/SF=0Bh
  5787.  
  5788. Format of NetWare "Add Trustee Set" request packet:
  5789. Offset    Size    Description    (Table 2048)
  5790.  00h    BYTE    0Ah (subfunction "Add Trustee Set to File or Subdirectory")
  5791.  01h    BYTE    name space (see #2042)
  5792.  02h  2 BYTEs    reserved
  5793.  04h    WORD    trustee rights (see #1796)
  5794.  06h    WORD    object ID count
  5795.  08h        NetWare Handle/Path structure (see #2031)
  5796.       6 BYTEs    trustee structure (see #2049)
  5797.  
  5798. Format of NetWare trustee structure:
  5799. Offset    Size    Description    (Table 2049)
  5800.  00h    DWORD    object ID
  5801.  04h    WORD    trustee rights
  5802. SeeAlso: #2048
  5803. --------N-21F257SF0B-------------------------
  5804. INT 21 - Novell NetWare - DELETE TRUSTEE
  5805.     AX = F257h subfn 0Bh
  5806.     CX = length of request buffer in bytes
  5807.     DX = length of reply buffer in bytes
  5808.     DS:SI -> request buffer (see #2050)
  5809.     ES:DI -> reply buffer (see #2051)
  5810. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5811. SeeAlso: AH=F2h"Novell",AX=F257h/SF=0Ah
  5812.  
  5813. Format of NetWare "Delete Trustee" request packet:
  5814. Offset    Size    Description    (Table 2050)
  5815.  00h    BYTE    0Bh (subfunction "Delete Trustee")
  5816.     ???
  5817. SeeAlso: #2051
  5818.  
  5819. Format of NetWare "Delete Trustee" reply packet:
  5820. Offset    Size    Description    (Table 2051)
  5821.  00h    ???
  5822. SeeAlso: #2050
  5823. --------N-21F257SF0C-------------------------
  5824. INT 21 - Novell NetWare v2+ - ALLOCATE SHORT DIRECTORY HANDLE
  5825.     AX = F257h subfn 0Ch
  5826.     CX = length of request buffer in bytes
  5827.     DX = length of reply buffer in bytes
  5828.     DS:SI -> request buffer (see #2052)
  5829.     ES:DI -> reply buffer (see #2053)
  5830. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5831. Note:    unlike "Alloc Permanent Directory Handle", this function does not
  5832.       automatically map a drive
  5833. SeeAlso: AH=F2h"Novell",AX=F223h/SF=04h,AX=F223h/SF=05h,AX=F223h/SF=09h
  5834.  
  5835. Format of NetWare "Allocate Short Directory Handle" request packet:
  5836. Offset    Size    Description    (Table 2052)
  5837.  00h    BYTE    0Ch (subfunction "Allocate Short Directory Handle")
  5838.  01h    BYTE    name space (see #2042)
  5839.  02h  2 BYTEs    reserved for future use
  5840.  04h    WORD    allocation mode
  5841.         bits 1-0: 00 permanent handle
  5842.               01 temporary handle
  5843.               10 special temporary handle
  5844.               11 reserved
  5845.  06h        NetWare Handle/Path structure (see #2031)
  5846. SeeAlso: #2053
  5847.  
  5848. Format of NetWare "Allocate Short Directory Handle" reply packet:
  5849. Offset    Size    Description    (Table 2053)
  5850.  00h    BYTE    new directory handle
  5851.  01h    BYTE    volume number
  5852.  02h    DWORD    reserved for future use
  5853. SeeAlso: #2052
  5854. --------N-21F257SF10-------------------------
  5855. INT 21 - Novell NetWare - SCAN SALVAGEABLE FILES
  5856.     AX = F257h subfn 10h
  5857.     CX = length of request buffer in bytes
  5858.     DX = length of reply buffer in bytes
  5859.     DS:SI -> request buffer (see #2054)
  5860.     ES:DI -> reply buffer (see #2055)
  5861. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5862. SeeAlso: AH=F2h"Novell",AX=F216h/SF=1Bh,AX=F257h/SF=11h,AX=F257h/SF=12h
  5863.  
  5864. Format of NetWare "Scan Salvageable Files" request packet:
  5865. Offset    Size    Description    (Table 2054)
  5866.  00h    BYTE    10h (subfunction "Scan Salvageable Files")
  5867.  01h    BYTE    name space
  5868.  02h    BYTE    data stream
  5869.  03h    DWORD    return information mask
  5870.  07h    DWORD    last sequence (set to FFFFFFFFh before first call)
  5871.  0Bh        NetWare Handle/Path structure (see #2031)
  5872. SeeAlso: #2055,#1778
  5873.  
  5874. Format of NetWare "Scan Salvageable Files" reply packet:
  5875. Offset    Size    Description    (Table 2055)
  5876.  00h    DWORD    next sequence number
  5877.  04h    WORD    deletion time
  5878.  06h    WORD    deletion date
  5879.  08h    DWORD    ID of deletor
  5880.  0Ch    DWORD    volume number
  5881.  10h    DWORD    directory entry number
  5882.  14h        NetWare Information Structure
  5883. SeeAlso: #2054,#1779
  5884. --------N-21F257SF11-------------------------
  5885. INT 21 - Novell NetWare - RECOVER SALVAGEABLE FILE
  5886.     AX = F257h subfn 11h
  5887.     CX = length of request packet in bytes
  5888.     DX = 0000h (no reply packet)
  5889.     DS:SI -> request packet (see #2056)
  5890.     ES:DI ignored
  5891. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5892. SeeAlso: AH=F2h"Novell",AX=F216h/SF=1Ch,AX=F257h/SF=10h,AX=F257h/SF=12h
  5893.  
  5894. Format of NetWare "Recover Salvageable File" request packet:
  5895. Offset    Size    Description    (Table 2056)
  5896.  00h    BYTE    11h (subfunction "Recover Salvageable File")
  5897.  01h    BYTE    name space
  5898.  02h    BYTE    reserved for future use
  5899.  03h    DWORD    sequence number
  5900.  07h    DWORD    volume number
  5901.  0Bh    DWORD    scan directory base
  5902.  0Fh    BYTE    new file name length
  5903.  10h  N BYTEs    new file name
  5904. SeeAlso: #2057,#1780
  5905. --------N-21F257SF12-------------------------
  5906. INT 21 - Novell NetWare - PURGE SALVAGEABLE FILE
  5907.     AX = F257h subfn 12h
  5908.     CX = length of request packet in bytes
  5909.     DX = 0000h (no reply packet)
  5910.     DS:SI -> request packet (see #2057)
  5911.     ES:DI ignored
  5912. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5913. SeeAlso: AH=F2h"Novell",AX=F216h/SF=1Dh,AX=F257h/SF=10h,AX=F257h/SF=11h
  5914.  
  5915. Format of NetWare "Purge Salvageable File" request packet:
  5916. Offset    Size    Description    (Table 2057)
  5917.  00h    BYTE    12h (subfunction "Purge Salvageable File")
  5918.  01h    BYTE    name space
  5919.  02h    BYTE    reserved
  5920.  03h    DWORD    sequence number
  5921.  07h    DWORD    volume number
  5922.  0Bh    DWORD    directory entry number
  5923. SeeAlso: #2056
  5924. --------N-21F257SF13-------------------------
  5925. INT 21 - Novell NetWare - GET NAMESPACE INFORMATION
  5926.     AX = F257h subfn 13h
  5927.     CX = length of request buffer in bytes
  5928.     DX = length of reply buffer in bytes
  5929.     DS:SI -> request buffer (see #2058)
  5930.     ES:DI -> reply buffer (see #2059)
  5931. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5932. SeeAlso: AH=F2h"Novell",AX=F257h/SF=12h,AX=F257h/SF=15h
  5933.  
  5934. Format of NetWare "Get Namespace Information" request packet:
  5935. Offset    Size    Description    (Table 2058)
  5936.  00h    BYTE    13h (subfunction "Get Namespace Information")
  5937.  01h    BYTE    source name space (see #2042)
  5938.  02h    BYTE    destination name space
  5939.  03h    BYTE    reserved for future use
  5940.  04h    BYTE    volume number
  5941.  05h    DWORD    directory base
  5942.  09h    DWORD    namespace information mask
  5943. SeeAlso: #2059
  5944.  
  5945. Format of NetWare "Get Namespace Information" reply packet:
  5946. Offset    Size    Description    (Table 2059)
  5947.  00h    var    namespace-specific information
  5948. SeeAlso: #2058
  5949. --------N-21F257SF15-------------------------
  5950. INT 21 - Novell NetWare - GET PATH STRING FROM SHORT DIRECTORY HANDLE
  5951.     AX = F257h subfn 15h
  5952.     CX = length of request buffer in bytes
  5953.     DX = length of reply buffer in bytes
  5954.     DS:SI -> request buffer (see #2060)
  5955.     ES:DI -> reply buffer (see #2061)
  5956. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5957. SeeAlso: AH=F2h"Novell",AX=F257h/SF=13h,AX=F257h/SF=16h
  5958.  
  5959. Format of NetWare "Get Path String from Short Directory Handle" request packet:
  5960. Offset    Size    Description    (Table 2060)
  5961.  00h    BYTE    15h (subfunction "Get Path String from Short Directory Handle")
  5962.  01h    BYTE    name space (see #2042)
  5963.  02h    BYTE    short directory handle
  5964. SeeAlso: #2061
  5965.  
  5966. Format of NetWare "Get Path String from Short Directory Handle" reply packet:
  5967. Offset    Size    Description    (Table 2061)
  5968.  00h    BYTE    length of path
  5969.  01h  N BYTEs    full directory path
  5970. SeeAlso: #2060
  5971. --------N-21F257SF16-------------------------
  5972. INT 21 - Novell NetWare - GENERATE DIRECTORY BASE AND VOLUME NUMBER
  5973.     AX = F257h subfn 16h
  5974.     CX = length of request buffer in bytes
  5975.     DX = length of reply buffer in bytes
  5976.     DS:SI -> request buffer (see #2062)
  5977.     ES:DI -> reply buffer (see #2063)
  5978. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  5979. SeeAlso: AH=F2h"Novell",AX=F257h/SF=15h,AX=F257h/SF=17h
  5980.  
  5981. Format of NetWare "Generate Directory Base and Volume Number" request packet:
  5982. Offset    Size    Description    (Table 2062)
  5983.  00h    BYTE    16h (subfunction "Generate Directory Base and Volume Number")
  5984.  01h    BYTE    name space (#2802)
  5985.  02h  3 BYTEs    reserved for future use
  5986.  05h        NetWare Handle/Path structure (see #2031)
  5987. SeeAlso: #2063
  5988.  
  5989. Format of NetWare "Generate Directory Base and Volume Number" reply packet:
  5990. Offset    Size    Description    (Table 2063)
  5991.  00h    DWORD    namespace directory base
  5992.  04h    DWORD    DOS directory base
  5993.  08h    BYTE    volume number
  5994. SeeAlso: #2062
  5995. --------N-21F257SF17-------------------------
  5996. INT 21 - Novell NetWare - GET NAME SPACE INFORMATION FORMAT
  5997.     AX = F257h subfn 17h
  5998.     CX = length of request buffer in bytes
  5999.     DX = length of reply buffer in bytes
  6000.     DS:SI -> request buffer (see #2064)
  6001.     ES:DI -> reply buffer (see #2065)
  6002. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6003. SeeAlso: AH=F2h"Novell",AX=F257h/SF=18h,AX=F257h/SF=19h
  6004.  
  6005. Format of NetWare "Get Name Space Information Format" request packet:
  6006. Offset    Size    Description    (Table 2064)
  6007.  00h    BYTE    17h (subfunction "Get Name Space Information Format")
  6008.  01h    BYTE    name space (see #2042)
  6009.  02h    BYTE    volume number
  6010. SeeAlso: #2065
  6011.  
  6012. Format of NetWare "Get Name Space Information Format" reply packet:
  6013. Offset    Size    Description    (Table 2065)
  6014.  00h    DWORD    fixed bitmask
  6015.  04h    DWORD    variable bitmask
  6016.  08h    DWORD    huge bitmask
  6017.  0Ch    WORD    fixed bits defined
  6018.  0Eh    WORD    variable bits defined
  6019.  10h    WORD    huge bits defined
  6020.  12h 128 BYTEs    field lengths
  6021. SeeAlso: #2064
  6022. --------N-21F257SF18-------------------------
  6023. INT 21 - Novell NetWare - GET NAME SPACES LOADED
  6024.     AX = F257h subfn 18h
  6025.     CX = length of request buffer in bytes
  6026.     DX = length of reply buffer in bytes
  6027.     DS:SI -> request buffer (see #2066)
  6028.     ES:DI -> reply buffer (see #2067)
  6029. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6030. SeeAlso: AH=F2h"Novell",AX=F257h/SF=17h,AX=F257h/SF=19h,AX=F257h/SF=1Ah
  6031. SeeAlso: AX=F216h/SF=2Fh
  6032.  
  6033. Format of NetWare "Get Name Spaces Loaded" request packet:
  6034. Offset    Size    Description    (Table 2066)
  6035.  00h    BYTE    18h (subfunction "Get Name Spaces Loaded")
  6036.  01h  2 BYTEs    reserved for future use
  6037.  03h    BYTE    volume number
  6038. SeeAlso: #2067
  6039.  
  6040. Format of NetWare "Get Name Spaces Loaded" reply packet:
  6041. Offset    Size    Description    (Table 2067)
  6042.  00h    WORD    number of namespace elements
  6043.  02h    WORD    number of namespace elements loaded
  6044.  04h  N BYTEs    loaded name spaces (each byte contains number of one loaded
  6045.           name space)
  6046. SeeAlso: #2066
  6047. --------N-21F257SF19-------------------------
  6048. INT 21 - Novell NetWare - WRITE NAME SPACE INFO
  6049.     AX = F257h subfn 19h
  6050.     CX = length of request packet in bytes
  6051.     DX = 0000h (no reply packet)
  6052.     DS:SI -> request packet (see #2068)
  6053.     ES:DI ignored
  6054. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6055. SeeAlso: AH=F2h"Novell",AX=F257h/SF=17h,AX=F257h/SF=18h
  6056.  
  6057. Format of NetWare "Write Name Space Info" request packet:
  6058. Offset    Size    Description    (Table 2068)
  6059.  00h    BYTE    19h (subfunction "Write Name Space Info")
  6060.  01h    BYTE    source name space (see #2042)
  6061.  02h    BYTE    destination name space
  6062.  03h    BYTE    volume number
  6063.  04h    DWORD    directory entry number
  6064.  08h    DWORD    namespace information bitmask
  6065.  0Ch 512 BYTEs    namespace-specific informatin
  6066. --------N-21F257SF1A-------------------------
  6067. INT 21 - Novell NetWare - READ EXTENDED NAME SPACE INFO
  6068.     AX = F257h subfn 1Ah
  6069.     CX = length of request buffer in bytes
  6070.     DX = length of reply buffer in bytes
  6071.     DS:SI -> request buffer (see #2069)
  6072.     ES:DI -> reply buffer (see #2070)
  6073. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6074. SeeAlso: AH=F2h"Novell",AX=F257h/SF=18h,AX=F257h/SF=19h,AX=F257h/SF=1Bh
  6075.  
  6076. Format of NetWare "Read Extended Name Space Info" request packet:
  6077. Offset    Size    Description    (Table 2069)
  6078.  00h    BYTE    1Ah (subfunction "Read Extended Name Space Info")
  6079.  01h    BYTE    name space (see #2042)
  6080.  02h    BYTE    volume number
  6081.  03h    DWORD    directory base
  6082.  07h    DWORD    huge mask
  6083.  0Bh 16 BYTEs    huge state information
  6084. SeeAlso: #2070
  6085.  
  6086. Format of NetWare "Read Extended Name Space Info" reply packet:
  6087. Offset    Size    Description    (Table 2070)
  6088.  00h 16 BYTEs    next huge state information
  6089.  10h    DWORD    huge data length
  6090.  14h  N BYTEs    huge data
  6091. SeeAlso: #2069
  6092. --------N-21F257SF1B-------------------------
  6093. INT 21 - Novell NetWare - WRITE EXTENDED NAME SPACE INFO
  6094.     AX = F257h subfn 1Bh
  6095.     CX = length of request buffer in bytes
  6096.     DX = length of reply buffer in bytes
  6097.     DS:SI -> request buffer (see #2071)
  6098.     ES:DI -> reply buffer (see #2072)
  6099. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6100. SeeAlso: AH=F2h"Novell",AX=F257h/SF=17h,AX=F257h/SF=18h,AX=F257h/SF=1Ah
  6101.  
  6102. Format of NetWare "Write Extended Name Space Info" request packet:
  6103. Offset    Size    Description    (Table 2071)
  6104.  00h    BYTE    1Bh (subfunction "Write Extended Name Space Info")
  6105.  01h    BYTE    name space (see #2042)
  6106.  02h    BYTE    volume number
  6107.  03h    DWORD    directory entry number
  6108.  07h    DWORD    huge mask
  6109.  0Bh 16 BYTEs    huge state information
  6110.  1Bh    DWORD    huge data length
  6111.  1Fh  N BYTEs    huge data
  6112. SeeAlso: #2072
  6113.  
  6114. Format of NetWare "Write Extended Name Space Info" request packet:
  6115. Offset    Size    Description    (Table 2072)
  6116.  00h 16 BYTEs    next huge state information
  6117.  10h    DWORD    huge data used
  6118. SeeAlso: #2071
  6119. --------N-21F257SF1C-------------------------
  6120. INT 21 - Novell NetWare - GET NS FULL PATH STRING
  6121.     AX = F257h subfn 1Ch
  6122.     CX = length of request buffer in bytes
  6123.     DX = length of reply buffer in bytes
  6124.     DS:SI -> request buffer (see #2073)
  6125.     ES:DI -> reply buffer (see #2074)
  6126. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6127. Note:    this call returns the path in reverse order (root directory last)
  6128. SeeAlso: AH=F2h"Novell",AX=F257h/SF=03h,AX=F257h/SF=15h
  6129.  
  6130. Format of NetWare "Get NS Full Path String" request packet:
  6131. Offset    Size    Description    (Table 2073)
  6132.  00h    BYTE    1Ch (subfunction "Get NS Full Path String")
  6133.  01h    BYTE    source name space
  6134.  02h    BYTE    destination name space
  6135.  03h 10    BYTEs    path cookie (see #2075)
  6136.  04h        NetWare Handle/Path structure (see #2031)
  6137. SeeAlso: #2074
  6138.  
  6139. Format of NetWare "Get NS Full Path String" reply packet:
  6140. Offset    Size    Description    (Table 2074)
  6141.  00h 10 BYTEs    next path cookie (see #2075)
  6142.  0Ah    WORD    size of path component(s) in packet
  6143.  0Ch    WORD    number of path components in packet
  6144.  0Eh        path components
  6145. SeeAlso: #2073
  6146.  
  6147. Format of NetWare path cookie:
  6148. Offset    Size    Description    (Table 2075)
  6149.  00h    WORD    flags
  6150.         bit 0: last component is a filename
  6151.  02h    DWORD    cookie1
  6152.  06h    DWORD    cookie2
  6153. Note:    "cookie1" and "cookie2" are to be set to FFFFFFFFh initially; if
  6154.       "cookie2" is FFFFFFFFh on return, all path components have been
  6155.       transferred
  6156. SeeAlso: #2073,#2074
  6157. --------N-21F257SF1D-------------------------
  6158. INT 21 - Novell NetWare - GET EFFECTIVE DIRECTORY RIGHTS
  6159.     AX = F257h subfn 1Dh
  6160.     CX = length of request buffer in bytes
  6161.     DX = length of reply buffer in bytes
  6162.     DS:SI -> request buffer (see #2076)
  6163.     ES:DI -> reply buffer (see #2077)
  6164. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6165. SeeAlso: AX=F216h/SF=03h,AX=F257h/SF=06h,AX=F257h/SF=0Ch,AX=F257h/SF=15h
  6166.  
  6167. Format of NetWare "Get Effective Directory Rights" request packet:
  6168. Offset    Size    Description    (Table 2076)
  6169.  00h    BYTE    1Dh (subfunction "Get Effective Directory Rights")
  6170.  01h    BYTE    name space (see #2042)
  6171.  02h    BYTE    destination name space (see #2042)
  6172.  03h    WORD    search attributes
  6173.  05h    DWORD    return information mask
  6174.  09h        NetWare Handle/Path structure (see #2031)
  6175. SeeAlso: #2077
  6176.  
  6177. Format of NetWare "Get Effective Directory Rights" reply packet:
  6178. Offset    Size    Description    (Table 2077)
  6179.  00h    WORD    caller's effective rights
  6180.  02h        NetWare Information Structure
  6181. SeeAlso: #2076
  6182. --------N-21F258SF01-------------------------
  6183. INT 21 - Novell NetWare v4+ - GET VOLUME AUDITING STATISTICS
  6184.     AX = F258h subfn 01h
  6185.     CX = length of request buffer in bytes
  6186.     DX = length of reply buffer in bytes
  6187.     DS:SI -> request buffer (see #2078)
  6188.     ES:DI -> reply buffer (see #2079)
  6189. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6190.     reply buffer filled
  6191. SeeAlso: AX=F268h/SF=C8h
  6192.  
  6193. Format of NetWare "Get Volume Auditing Statistics" request buffer:
  6194. Offset    Size    Description    (Table 2078)
  6195.  00h    BYTE    01h (function "Get Volume Auditing Statistics")
  6196.  01h    DWORD    volume
  6197. SeeAlso: #2079
  6198.  
  6199. Format of NetWare "Get Volume Auditing Statistics" reply buffer:
  6200. Offset    Size    Description    (Table 2079)
  6201.  00h    WORD    auditing version (date)
  6202.  02h    WORD    audit file version (date)
  6203.  04h    DWORD    auditing enabled flag
  6204.  08h    DWORD    audit file's size
  6205.  0Ch    DWORD    audit configuration file's size
  6206.  10h    DWORD    maximum audit file size
  6207.  14h    DWORD    audit file size threshold
  6208.  18h    DWORD    number of audit records
  6209.  1Ch    DWORD    number of history records
  6210. SeeAlso: #2078,#2131
  6211. --------N-21F258SF02-------------------------
  6212. INT 21 - Novell NetWare - ADD AUDIT PROPERTY
  6213.     AX = F258h subfn 02h
  6214.     CX = length of request buffer in bytes
  6215.     DX = length of reply buffer in bytes
  6216.     DS:SI -> request buffer (see #2080)
  6217.     ES:DI -> reply buffer (see #2081)
  6218. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6219. SeeAlso: AH=F2h"Novell",AX=F217h/SF=39h,AX=F258h/SF=06h,AX=F258h/SF=08h
  6220.  
  6221. Format of NetWare "Add Audit Property" request packet:
  6222. Offset    Size    Description    (Table 2080)
  6223.  00h    BYTE    02h (subfunction "Add Audit Property")
  6224.     ???
  6225. SeeAlso: #2081
  6226.  
  6227. Format of NetWare "Add Audit Property" reply packet:
  6228. Offset    Size    Description    (Table 2081)
  6229.  00h    ???
  6230. SeeAlso: #2080
  6231. --------N-21F258SF03-------------------------
  6232. INT 21 - Novell NetWare - LOGIN AS VOLUME AUDITOR
  6233.     AX = F258h subfn 03h
  6234.     CX = length of request buffer in bytes
  6235.     DX = length of reply buffer in bytes
  6236.     DS:SI -> request buffer (see #2082)
  6237.     ES:DI -> reply buffer (see #2083)
  6238. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6239. SeeAlso: AH=F2h"Novell",AX=F258h/SF=04h,AX=F258h/SF=0Dh
  6240.  
  6241. Format of NetWare "Login As Volume Auditor" request packet:
  6242. Offset    Size    Description    (Table 2082)
  6243.  00h    BYTE    03h (subfunction "Login As Volume Auditor")
  6244.     ???
  6245. SeeAlso: #2083
  6246.  
  6247. Format of NetWare "Login As Volume Auditor" reply packet:
  6248. Offset    Size    Description    (Table 2083)
  6249.  00h    ???
  6250. SeeAlso: #2082
  6251. --------N-21F258SF04-------------------------
  6252. INT 21 - Novell NetWare - CHANGE AUDITOR PASSWORD
  6253.     AX = F258h subfn 04h
  6254.     CX = length of request buffer in bytes
  6255.     DX = length of reply buffer in bytes
  6256.     DS:SI -> request buffer (see #2084)
  6257.     ES:DI -> reply buffer
  6258. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6259. SeeAlso: AH=F2h"Novell",AX=F258h/SF=03h
  6260.  
  6261. Format of NetWare "Change Auditor Password" request packet:
  6262. Offset    Size    Description    (Table 2084)
  6263.  00h    BYTE    04h (subfunction "Change Auditor Password")
  6264.     ???
  6265. --------N-21F258SF05-------------------------
  6266. INT 21 - Novell NetWare - CHECK AUDIT ACCESS
  6267.     AX = F258h subfn 05h
  6268.     CX = length of request buffer in bytes
  6269.     DX = length of reply buffer in bytes
  6270.     DS:SI -> request buffer (see #2085)
  6271.     ES:DI -> reply buffer
  6272. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6273. SeeAlso: AH=F2h"Novell",AX=F258h/SF=02h,AX=F258h/SF=08h
  6274.  
  6275. Format of NetWare "Check Audit Access" request packet:
  6276. Offset    Size    Description    (Table 2085)
  6277.  00h    BYTE    05h (subfunction "Check Audit Access")
  6278.     ???
  6279. --------N-21F258SF06-------------------------
  6280. INT 21 - Novell NetWare - REMOVE AUDIT PROPERTY
  6281.     AX = F258h subfn 06h
  6282.     CX = length of request buffer in bytes
  6283.     DX = length of reply buffer in bytes
  6284.     DS:SI -> request buffer (see #2086)
  6285.     ES:DI -> reply buffer
  6286. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6287. SeeAlso: AH=F2h"Novell",AX=F258h/SF=02h,AX=F258h/SF=05h
  6288.  
  6289. Format of NetWare "Remove Audit Property" request packet:
  6290. Offset    Size    Description    (Table 2086)
  6291.  00h    BYTE    06h (subfunction "Remove Audit Property")
  6292.     ???
  6293. --------N-21F258SF07-------------------------
  6294. INT 21 - Novell NetWare - DISABLE AUDITING ON VOLUME
  6295.     AX = F258h subfn 07h
  6296.     CX = length of request buffer in bytes
  6297.     DX = length of reply buffer in bytes
  6298.     DS:SI -> request buffer (see #2087)
  6299.     ES:DI -> reply buffer
  6300. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6301. SeeAlso: AH=F2h"Novell",AX=F258h/SF=08h,AX=F258h/SF=09h
  6302.  
  6303. Format of NetWare "Disable Auditing on Volume" request packet:
  6304. Offset    Size    Description    (Table 2087)
  6305.  00h    BYTE    07h (subfunction "Disable Auditing on Volume")
  6306.     ???
  6307. --------N-21F258SF08-------------------------
  6308. INT 21 - Novell NetWare - ENABLE AUDITING ON VOLUME
  6309.     AX = F258h subfn 08h
  6310.     CX = length of request buffer in bytes
  6311.     DX = length of reply buffer in bytes
  6312.     DS:SI -> request buffer (see #2088)
  6313.     ES:DI -> reply buffer
  6314. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6315. SeeAlso: AH=F2h"Novell",AX=F258h/SF=07h,AX=F258h/SF=09h
  6316.  
  6317. Format of NetWare "Enable Auditing on Volume" request packet:
  6318. Offset    Size    Description    (Table 2088)
  6319.  00h    BYTE    08h (subfunction "Enable Auditing on Volume")
  6320.     ???
  6321. --------N-21F258SF09-------------------------
  6322. INT 21 - Novell NetWare - IS USER AUDITED?
  6323.     AX = F258h subfn 09h
  6324.     CX = length of request buffer in bytes
  6325.     DX = length of reply buffer in bytes
  6326.     DS:SI -> request buffer (see #2089)
  6327.     ES:DI -> reply buffer
  6328. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6329. SeeAlso: AH=F2h"Novell",AX=F258h/SF=07h,AX=F258h/SF=08h
  6330.  
  6331. Format of NetWare "Is User Audited?" request packet:
  6332. Offset    Size    Description    (Table 2089)
  6333.  00h    BYTE    09h (subfunction "Is User Audited?")
  6334.     ???
  6335. --------N-21F258SF0A-------------------------
  6336. INT 21 - Novell NetWare - READ AUDITING BITMAP
  6337.     AX = F258h subfn 0Ah
  6338.     CX = length of request buffer in bytes
  6339.     DX = length of reply buffer in bytes
  6340.     DS:SI -> request buffer (see #2090)
  6341.     ES:DI -> reply buffer (see #2091)
  6342. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6343. SeeAlso: AH=F2h"Novell",AX=F258h/SF=0Bh,AX=F258h/SF=10h
  6344.  
  6345. Format of NetWare "Read Auditing Bitmap" request packet:
  6346. Offset    Size    Description    (Table 2090)
  6347.  00h    BYTE    0Ah (subfunction "Read Auditing Bitmap")
  6348.     ???
  6349. SeeAlso: #2091,#2092
  6350.  
  6351. Format of NetWare "Read Auditing Bitmap" reply packet:
  6352. Offset    Size    Description    (Table 2091)
  6353.  00h    ???
  6354. SeeAlso: #2090,#2093
  6355. --------N-21F258SF0B-------------------------
  6356. INT 21 - Novell NetWare - READ AUDIT CONFIG HEADER
  6357.     AX = F258h subfn 0Bh
  6358.     CX = length of request buffer in bytes
  6359.     DX = length of reply buffer in bytes
  6360.     DS:SI -> request buffer (see #2092)
  6361.     ES:DI -> reply buffer (see #2093)
  6362. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6363. SeeAlso: AH=F2h"Novell",AX=F258h/SF=0Ah,AX=F258h/SF=11h
  6364.  
  6365. Format of NetWare "Read Audit Configuration Header" request packet:
  6366. Offset    Size    Description    (Table 2092)
  6367.  00h    BYTE    0Bh (subfunction "Read Audit Configuration Header")
  6368.     ???
  6369. SeeAlso: #2093,#2090
  6370.  
  6371. Format of NetWare "Read Audit Configuration Header" reply packet:
  6372. Offset    Size    Description    (Table 2093)
  6373.  00h    ???
  6374. SeeAlso: #2092,#2091
  6375. --------N-21F258SF0D-------------------------
  6376. INT 21 - Novell NetWare - LOGOUT AS VOLUME AUDITOR
  6377.     AX = F258h subfn 0Dh
  6378.     CX = length of request buffer in bytes
  6379.     DX = length of reply buffer in bytes
  6380.     DS:SI -> request buffer (see #2094)
  6381.     ES:DI -> reply buffer
  6382. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6383. SeeAlso: AH=F2h"Novell",AX=F258h/SF=03h
  6384.  
  6385. Format of NetWare "Logout as Volume Auditor" request packet:
  6386. Offset    Size    Description    (Table 2094)
  6387.  00h    BYTE    0Dh (subfunction "Logout as Volume Auditor")
  6388.     ???
  6389. --------N-21F258SF0E-------------------------
  6390. INT 21 - Novell NetWare - RESET AUDITING FILE
  6391.     AX = F258h subfn 0Eh
  6392.     CX = length of request buffer in bytes
  6393.     DX = length of reply buffer in bytes
  6394.     DS:SI -> request buffer (see #2095)
  6395.     ES:DI -> reply buffer
  6396. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6397. SeeAlso: AH=F2h"Novell",AX=F258h/SF=0Ah,AX=F258h/SF=0Fh
  6398.  
  6399. Format of NetWare "Reset Auditing File" request packet:
  6400. Offset    Size    Description    (Table 2095)
  6401.  00h    BYTE    0Eh (subfunction "Reset Auditing File")
  6402.     ???
  6403. --------N-21F258SF0F-------------------------
  6404. INT 21 - Novell NetWare - RESET AUDIT HISTORY FILE
  6405.     AX = F258h subfn 0Fh
  6406.     CX = length of request buffer in bytes
  6407.     DX = length of reply buffer in bytes
  6408.     DS:SI -> request buffer (see #2096)
  6409.     ES:DI -> reply buffer
  6410. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6411. SeeAlso: AH=F2h"Novell",AX=F258h/SF=0Eh
  6412.  
  6413. Format of NetWare "Reset Audit History File" request packet:
  6414. Offset    Size    Description    (Table 2096)
  6415.  00h    BYTE    0Fh (subfunction "Reset Audit History File")
  6416.     ???
  6417. --------N-21F258SF10-------------------------
  6418. INT 21 - Novell NetWare - WRITE AUDITING BITMAP
  6419.     AX = F258h subfn 10h
  6420.     CX = length of request buffer in bytes
  6421.     DX = length of reply buffer in bytes
  6422.     DS:SI -> request buffer (see #2097)
  6423.     ES:DI -> reply buffer
  6424. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6425. SeeAlso: AH=F2h"Novell",AX=F258h/SF=0Ah,AX=F258h/SF=11h
  6426.  
  6427. Format of NetWare "Write Auditing Bitmap" request packet:
  6428. Offset    Size    Description    (Table 2097)
  6429.  00h    BYTE    10h (subfunction "Write Auditing Bitmap")
  6430.     ???
  6431. SeeAlso: #2098
  6432. --------N-21F258SF11-------------------------
  6433. INT 21 - Novell NetWare - WRITE AUDIT CONFIG HEADER
  6434.     AX = F258h subfn 11h
  6435.     CX = length of request buffer in bytes
  6436.     DX = length of reply buffer in bytes
  6437.     DS:SI -> request buffer (see #2098)
  6438.     ES:DI -> reply buffer
  6439. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6440. SeeAlso: AH=F2h"Novell",AX=F258h/SF=0Bh,AX=F258h/SF=10h
  6441.  
  6442. Format of NetWare "Write Audit Configuration Header" request packet:
  6443. Offset    Size    Description    (Table 2098)
  6444.  00h    BYTE    11h (subfunction "Write Audit Configuration Header")
  6445.     ???
  6446. SeeAlso: #2097
  6447. --------N-21F258SF13-------------------------
  6448. INT 21 - Novell NetWare - GET AUDITING FLAGS
  6449.     AX = F258h subfn 13h
  6450.     CX = length of request buffer in bytes
  6451.     DX = length of reply buffer in bytes
  6452.     DS:SI -> request buffer (see #2099)
  6453.     ES:DI -> reply buffer (see #2100)
  6454. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6455. SeeAlso: AH=F2h"Novell",AX=F258h/SF=05h
  6456.  
  6457. Format of NetWare "Get Auditing Flags" request packet:
  6458. Offset    Size    Description    (Table 2099)
  6459.  00h    BYTE    13h (subfunction "Get Auditing Flags")
  6460.     ???
  6461. SeeAlso: #2100
  6462.  
  6463. Format of NetWare "Get Auditing Flags" reply packet:
  6464. Offset    Size    Description    (Table 2100)
  6465.  00h    ???
  6466. SeeAlso: #2099
  6467. --------N-21F258SF14-------------------------
  6468. INT 21 - Novell NetWare - CLOSE OLD AUDITING FILE
  6469.     AX = F258h subfn 14h
  6470.     CX = length of request buffer in bytes
  6471.     DX = length of reply buffer in bytes
  6472.     DS:SI -> request buffer (see #2101)
  6473.     ES:DI -> reply buffer
  6474. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6475. SeeAlso: AH=F2h"Novell",AX=F258h/SF=15h
  6476.  
  6477. Format of NetWare "Close Old Auditing File" request packet:
  6478. Offset    Size    Description    (Table 2101)
  6479.  00h    BYTE    14h (subfunction "Close Old Auditing File")
  6480.     ???
  6481. SeeAlso: #2102
  6482. --------N-21F258SF15-------------------------
  6483. INT 21 - Novell NetWare - DELETE OLD AUDITING FILE
  6484.     AX = F258h subfn 15h
  6485.     CX = length of request buffer in bytes
  6486.     DX = length of reply buffer in bytes
  6487.     DS:SI -> request buffer (see #2102)
  6488.     ES:DI -> reply buffer
  6489. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6490. SeeAlso: AH=F2h"Novell",AX=F258h/SF=14h
  6491.  
  6492. Format of NetWare "Delete Old Auditing File" request packet:
  6493. Offset    Size    Description    (Table 2102)
  6494.  00h    BYTE    15h (subfunction "Delete Old Auditing File")
  6495.     ???
  6496. SeeAlso: #2101
  6497. --------N-21F258SF16-------------------------
  6498. INT 21 - Novell NetWare - CHECK AUDIT LEVEL TWO ACCESS
  6499.     AX = F258h subfn 16h
  6500.     CX = length of request buffer in bytes
  6501.     DX = length of reply buffer in bytes
  6502.     DS:SI -> request buffer (see #2103)
  6503.     ES:DI -> reply buffer
  6504. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6505. SeeAlso: AH=F2h"Novell",AX=F258h/SF=05h
  6506.  
  6507. Format of NetWare "Check Audit Level Two Access" request packet:
  6508. Offset    Size    Description    (Table 2103)
  6509.  00h    BYTE    16h (subfunction "Check Audit Level Two Access")
  6510.     ???
  6511. --------N-21F25ASF01-------------------------
  6512. INT 21 - Novell NetWare - GET DATA MIGRATION INFO
  6513.     AX = F25Ah subfn 01h
  6514.     CX = length of request buffer in bytes
  6515.     DX = length of reply buffer in bytes
  6516.     DS:SI -> request buffer (see #2104)
  6517.     ES:DI -> reply buffer (see #2105)
  6518. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6519. SeeAlso: AH=F2h"Novell",AX=F25Ah/SF=80h,AX=F25Ah/SF=86h
  6520.  
  6521. Format of NetWare "Get Data Migration Information" request packet:
  6522. Offset    Size    Description    (Table 2104)
  6523.  00h    WORD    length of following data
  6524.  02h    BYTE    01h (subfunction "Get Data Migration Information")
  6525. SeeAlso: #2105
  6526.  
  6527. Format of NetWare "Get Data Migration Information" reply packet:
  6528. Offset    Size    Description    (Table 2105)
  6529.  00h    ???
  6530. SeeAlso: #2104
  6531. --------N-21F25ASF80-------------------------
  6532. INT 21 - Novell NetWare - MOVE FILE DATA TO DATA MIGRATION
  6533.     AX = F25Ah subfn 80h
  6534.     CX = length of request buffer in bytes
  6535.     DX = length of reply buffer in bytes
  6536.     DS:SI -> request buffer (see #2106)
  6537.     ES:DI -> reply buffer (see #2107)
  6538. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6539. SeeAlso: AH=F2h"Novell",AX=F25Ah/SF=82h,AX=F25Ah/SF=85h
  6540.  
  6541. Format of NetWare "Move File Data to Data Migration" request packet:
  6542. Offset    Size    Description    (Table 2106)
  6543.  00h    WORD    length of following data
  6544.  02h    BYTE    80h (subfunction "Move File Data to Data Migration")
  6545.  03h    DWORD    volume number
  6546.  07h    DWORD    directory entry number
  6547.  0Bh    DWORD    name space (see #2042)
  6548.  0Fh    DWORD    support module ID
  6549.  13h    DWORD    save key flag
  6550.         00000010h to save key when file is demigrated
  6551. SeeAlso: #2107
  6552.  
  6553. Format of NetWare "Move File Data to Data Migration" reply packet:
  6554. Offset    Size    Description    (Table 2107)
  6555.  00h    DWORD    volume-unique ID
  6556. SeeAlso: #2106
  6557. --------N-21F25ASF81-------------------------
  6558. INT 21 - Novell NetWare - DATA MIGRATION FILE INFORMATION
  6559.     AX = F25Ah subfn 81h
  6560.     CX = length of request buffer in bytes
  6561.     DX = length of reply buffer in bytes
  6562.     DS:SI -> request buffer (see #2108)
  6563.     ES:DI -> reply buffer (see #2109)
  6564. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6565. SeeAlso: AH=F2h"Novell",AX=F25Ah/SF=80h,AX=F25Ah/SF=82h,AX=F25Ah/SF=83h
  6566.  
  6567. Format of NetWare "Data Migration File Information" request packet:
  6568. Offset    Size    Description    (Table 2108)
  6569.  00h    WORD    length of following data
  6570.  02h    BYTE    81h (subfunction "Data Migration File Information")
  6571.  03h    DWORD    volume number
  6572.  07h    DWORD    directory entry number
  6573.  0Bh    DWORD    name space (see #2042)
  6574. SeeAlso: #2109
  6575.  
  6576. Format of NetWare "Data Migration File Information" reply packet:
  6577. Offset    Size    Description    (Table 2109)
  6578.  00h    DWORD    support module ID
  6579.  04h    DWORD    estimate restoration time
  6580.  08h    DWORD    bitmask of supported data streams
  6581. SeeAlso: #2108
  6582. --------N-21F25ASF82-------------------------
  6583. INT 21 - Novell NetWare - VOLUME DATA MIGRATION STATUS
  6584.     AX = F25Ah subfn 82h
  6585.     CX = length of request buffer in bytes
  6586.     DX = length of reply buffer in bytes
  6587.     DS:SI -> request buffer (see #2110)
  6588.     ES:DI -> reply buffer (see #2111)
  6589. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6590. SeeAlso: AH=F2h"Novell",AX=F25Ah/SF=01h,AX=F25Ah/SF=83h,AX=F25Ah/SF=84h
  6591.  
  6592. Format of NetWare "Volume Data Migration Status" request packet:
  6593. Offset    Size    Description    (Table 2110)
  6594.  00h    WORD    length of following data
  6595.  02h    BYTE    82h (subfunction "Volume Data Migration Status")
  6596.  03h    DWORD    volume number
  6597.  07h    DWORD    support module ID
  6598. SeeAlso: #2111
  6599.  
  6600. Format of NetWare "Volume Data Migration Status" request packet:
  6601. Offset    Size    Description    (Table 2111)
  6602.  00h    DWORD    number of migrated files
  6603.  04h    DWORD    total size required to restore all migrated files
  6604.  08h    DWORD    total space used on migration device
  6605.  0Ch    DWORD    limbo space (demigrated files with save-key flag set)
  6606.  10h    DWORD    total space including limbo space
  6607.  14h    DWORD    number of files in limbo
  6608. SeeAlso: #2110
  6609. --------N-21F25ASF83-------------------------
  6610. INT 21 - Novell NetWare - GET MIGRATION OR STATUS INFORMATION
  6611.     AX = F25Ah subfn 83h
  6612.     CX = length of request buffer in bytes
  6613.     DX = length of reply buffer in bytes
  6614.     DS:SI -> request buffer (see #2112)
  6615.     ES:DI -> reply buffer (see #2113)
  6616. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6617. SeeAlso: AH=F2h"Novell",AX=F25Ah/SF=82h,AX=F25Ah/SF=84h,AX=F25Ah/SF=85h
  6618.  
  6619. Format of NetWare "Get Migration or Status Information" request packet:
  6620. Offset    Size    Description    (Table 2112)
  6621.  00h    WORD    length of following data
  6622.  02h    BYTE    83h (subfunction "Get Migration or Status Information")
  6623. SeeAlso: #2113
  6624.  
  6625. Format of NetWare "Get Migration or Status Information" request packet:
  6626. Offset    Size    Description    (Table 2113)
  6627.  00h    DWORD    presence flag
  6628.         FFFFFFFFh if Data Migration NLM is loaded and running
  6629.  04h    DWORD    major version
  6630.  08h    DWORD    minor version
  6631.  0Ch    DWORD    flag: has support module registered with Data Migrator?
  6632. SeeAlso: #2112
  6633. --------N-21F25ASF84-------------------------
  6634. INT 21 - Novell NetWare - DATA MIGRATION SUPPORT MODULE INFORMATION
  6635.     AX = F25Ah subfn 84h
  6636.     CX = length of request buffer in bytes
  6637.     DX = length of reply buffer in bytes
  6638.     DS:SI -> request buffer (see #2114)
  6639.     ES:DI -> reply buffer (see #2115)
  6640. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6641. SeeAlso: AH=F2h"Novell",AX=F25Ah/SF=82h,AX=F25Ah/SF=83h,AX=F25Ah/SF=86h
  6642.  
  6643. Format of NetWare "Data Migration Support Module Information" request packet:
  6644. Offset    Size    Description    (Table 2114)
  6645.  00h    WORD    length of following data
  6646.  02h    BYTE    84h (subfunction "Data Migration Support Module Information")
  6647.  03h    DWORD    information level
  6648.         0000h get data migration NLM info
  6649.         0001h get loaded support modules
  6650.         0002h get name of support module
  6651.  07h    DWORD    support module ID
  6652. SeeAlso: #2115
  6653.  
  6654. Format of NetWare "Data Migration Support Module Information" request packet:
  6655. Offset    Size    Description    (Table 2115)
  6656. ---information level 0---
  6657.  00h    DWORD    read/write access status
  6658.  04h    DWORD    length of Specific Device Information block (max 384)
  6659.  08h    DWORD    space available on support module
  6660.  0Ch    DWORD    amount of space used
  6661.  10h    BYTE    length of support module's name
  6662.  11h 14 BYTEs    support module name
  6663.  1Fh 128 BYTEs    support module information
  6664. ---information level 1---
  6665.  00h    DWORD    number of support modules
  6666.  04h 32 BYTEs    support module IDs
  6667. ---information level 2---
  6668.  00h    BYTE    length of module name
  6669.  01h 32 BYTEs    support module name
  6670. SeeAlso: #2114
  6671. --------N-21F25ASF85-------------------------
  6672. INT 21 - Novell NetWare - MOVE FILE DATA FROM DATA MIGRATION
  6673.     AX = F25Ah subfn 85h
  6674.     CX = length of request packet in bytes
  6675.     DX = 0000h (no reply packet)
  6676.     DS:SI -> request packet (see #2116)
  6677.     ES:DI ignored
  6678. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6679. SeeAlso: AH=F2h"Novell",AX=F25Ah/SF=80h,AX=F25Ah/SF=83h,AX=F25Ah/SF=86h
  6680.  
  6681. Format of NetWare "Move File Data From Data Migration" request packet:
  6682. Offset    Size    Description    (Table 2116)
  6683.  00h    WORD    length of following data
  6684.  02h    BYTE    85h (subfunction "Move File Data from Data Migration")
  6685.  03h    DWORD    volume number
  6686.  07h    DWORD    directory entry number
  6687.  0Bh    DWORD    name space (see #2042)
  6688. SeeAlso: #2107
  6689. --------N-21F25ASF86-------------------------
  6690. INT 21 - Novell NetWare - GET OR SET DEFAULT SUPPORT MODULE
  6691.     AX = F25Ah subfn 86h
  6692.     CX = length of request buffer in bytes
  6693.     DX = length of reply buffer in bytes
  6694.     DS:SI -> request buffer (see #2117)
  6695.     ES:DI -> reply buffer (see #2118)
  6696. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6697. SeeAlso: AH=F2h"Novell",AX=F25Ah/SF=01h,AX=F25Ah/SF=80h,AX=F25Ah/SF=84h
  6698.  
  6699. Format of NetWare "Get or Set Default Support Module" request packet:
  6700. Offset    Size    Description    (Table 2117)
  6701.  00h    WORD    length of following data
  6702.  02h    BYTE    86h (subfunction "Get or Set Default Support Module")
  6703.  03h    DWORD    direction
  6704.         00h get default support module
  6705.         01h set default support module
  6706.  07h    DWORD    new module ID if setting
  6707. SeeAlso: #2118
  6708.  
  6709. Format of NetWare "Get or Set Default Support Module" request packet:
  6710. Offset    Size    Description    (Table 2118)
  6711.  00h    DWORD    support module ID
  6712. SeeAlso: #2117
  6713. --------N-21F268SF01-------------------------
  6714. INT 21 - Novell NetWare v4+ - GET TREE NAME
  6715.     AX = F268h subfn 01h
  6716.     CX = length of request buffer in bytes (0001h)
  6717.     DX = length of reply buffer in bytes (0064h)
  6718.     DS:SI -> request buffer (see #2119)
  6719.     ES:DI -> reply buffer (see #2120)
  6720. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6721.     reply buffer filled
  6722. SeeAlso: AX=F268h/SF=04h
  6723.  
  6724. Format of NetWare "Get Tree Name" request buffer:
  6725. Offset    Size    Description    (Table 2119)
  6726.  00h    BYTE    01h (subfunction "Get Tree Name")
  6727.  
  6728. Format of NetWare "Get Tree Name" reply buffer:
  6729. Offset    Size    Description    (Table 2120)
  6730.  00h    DWORD    Ping version
  6731.  04h    DWORD    length of tree name
  6732.  08h 32 BYTEs    tree name, padded with underscores ('_')
  6733.  28h 60 BYTEs    ???
  6734. --------N-21F268SF04-------------------------
  6735. INT 21 - Novell NetWare v4+ - GET BINDERY CONTEXT
  6736.     AX = F268h subfn 04h
  6737.     CX = length of request buffer in bytes (0001h)
  6738.     DX = length of reply buffer in bytes
  6739.     DS:SI -> request buffer (see #2121)
  6740.     ES:DI -> reply buffer (see #2122)
  6741. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6742.     reply buffer filled
  6743. SeeAlso: AX=F268h/SF=01h,AX=F268h/SF=C8h
  6744.  
  6745. Format of NetWare "Get Bindery Context" request buffer:
  6746. Offset    Size    Description    (Table 2121)
  6747.  00h    BYTE    04h (subfunction "Get Bindery Context")
  6748.  
  6749. Format of NetWare "Get Bindery Context" reply buffer:
  6750. Offset    Size    Description    (Table 2122)
  6751.  00h    DWORD    length (max 200)
  6752.  04h  N WORDs    Unicode bindery context string
  6753. --------N-21F268SF05-------------------------
  6754. INT 21 - Novell NetWare v4+ - MONITOR NDS CONNECTION
  6755.     AX = F268h subfn 05h
  6756.     CX = length of request buffer in bytes (0001h)
  6757.     DX = length of reply buffer in bytes
  6758.     DS:SI -> request buffer (see #2123)
  6759.     ES:DI -> reply buffer (unused???)
  6760. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6761.  
  6762. Format of NetWare "Monitor NDS Connection" request buffer:
  6763. Offset    Size    Description    (Table 2123)
  6764.  00h    BYTE    05h (subfunction "Monitor NDS Connection"
  6765. --------N-21F268SF16-------------------------
  6766. INT 21 - Novell NetWare v4+ - NDS LIST PARTITIONS
  6767.     AX = F268h subfn 16h
  6768.     CX = length of request buffer in bytes
  6769.     DX = length of reply buffer in bytes
  6770.     DS:SI -> request buffer (see #2124)
  6771.     ES:DI -> reply buffer (see #2125)
  6772. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6773.     reply buffer filled
  6774. Note:    the length specified in CX must be exactly 13 bytes more than the
  6775.       length field at offset 09h in the request buffer for this function
  6776.       to be successful
  6777. SeeAlso: AX=F268h/SF=35h
  6778.  
  6779. Format of NetWare "NDS List Partitions" request buffer:
  6780. Offset    Size    Description    (Table 2124)
  6781.  00h    BYTE    02h
  6782.  01h    DWORD    ??? (FFFFFFFFh)
  6783.  05h    DWORD    ??? (00000202h)
  6784.  09h    DWORD    length (00000018h)
  6785.  0Dh    DWORD    ??? (00000000h)
  6786.  11h    DWORD    function (00000016h) (subfunction "NDS List Partitions")
  6787.  15h    DWORD    ??? (00000400h)
  6788.  19h    DWORD    API version (00000000h)
  6789.  1Dh    DWORD    ??? (00000000h)
  6790.  21h    DWORD    iteration (FFFFFFFFh)
  6791. SeeAlso: #2125,#2126
  6792.  
  6793. Format of NetWare "NDS List Partitions" reply buffer:
  6794. Offset    Size    Description    (Table 2125)
  6795.  00h    DWORD    length
  6796.  04h    DWORD    ???
  6797.  08h    DWORD    return code
  6798.  0Ch    DWORD    iteration
  6799.  10h 1000 BYTEs    returned data
  6800. SeeAlso: #2124
  6801. --------N-21F268SF35-------------------------
  6802. INT 21 - Novell NetWare v4+ - NDS GET SERVER NAME AND ADDRESS
  6803.     AX = F268h subfn 35h
  6804.     CX = length of request buffer in bytes
  6805.     DX = length of reply buffer in bytes
  6806.     DS:SI -> request buffer (see #2126)
  6807.     ES:DI -> reply buffer (see #2127)
  6808. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6809.     reply buffer filled
  6810. Note:    the length specified in CX must be exactly 13 bytes more than the
  6811.       length field at offset 09h in the request buffer for this function
  6812.       to be successful
  6813. SeeAlso: AX=F268h/SF=16h
  6814.  
  6815. Format of NetWare "NDS Get Server Name and Address" request buffer:
  6816. Offset    Size    Description    (Table 2126)
  6817.  00h    BYTE    02h
  6818.  01h    DWORD    ??? (FFFFFFFFh)
  6819.  05h    DWORD    ??? (00000202h)
  6820.  09h    DWORD    length (0000000Ch)
  6821.  0Dh    DWORD    ??? (00000000h)
  6822.  11h    DWORD    function (00000035h) (subfunc "NDS Get Server Name and Addr")
  6823.  15h    DWORD    ??? (00000400h)
  6824. SeeAlso: #2124,#2127
  6825.  
  6826. Format of NetWare "NDS Get Server Name and Address" reply buffer:
  6827. Offset    Size    Description    (Table 2127)
  6828.  00h    DWORD    length
  6829.  04h    DWORD    ???
  6830.  08h    DWORD    return code
  6831.  0Ch    DWORD    length of name
  6832.  10h  N WORDs    Unicode server name string
  6833.     var    padding
  6834.     DWORD    ??? (00000001h)
  6835.     DWORD    ??? (00000000h)
  6836.     DWORD    ??? (0000000Ch)
  6837.      12 BYTEs    server's IPX address
  6838. SeeAlso: #2126
  6839. --------N-21F268SF3D-------------------------
  6840. INT 21 - Novell NetWare v4+ - NDS LOGOUT
  6841.     AX = F268h subfn 3Dh
  6842.     CX = length of request buffer in bytes
  6843.     DX = length of reply buffer in bytes
  6844.     DS:SI -> request buffer (see #2128)
  6845.     ES:DI -> reply buffer (see #2129)
  6846. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6847.     reply buffer filled
  6848. SeeAlso: AX=F217h/SF=14h
  6849.  
  6850. Format of NetWare "NDS Logout" request buffer:
  6851. Offset    Size    Description    (Table 2128)
  6852.  00h    BYTE    02h
  6853.  01h    DWORD    ??? (FFFFFFFFh)
  6854.  05h    DWORD    ??? (00000202h)
  6855.  09h    DWORD    length (0000000Ch)
  6856.  0Dh    DWORD    ??? (00000000h)
  6857.  11h    DWORD    function (0000003Dh) (subfunction "NDS Logout")
  6858.  15h    DWORD    ??? (00000000h)
  6859. SeeAlso: #2129
  6860.  
  6861. Format of NetWare "NDS Logout" reply buffer:
  6862. Offset    Size    Description    (Table 2129)
  6863.  00h    DWORD    length
  6864.  04h    DWORD    ???
  6865.  08h    DWORD    return code
  6866. SeeAlso: #2128
  6867. --------N-21F268SFC8-------------------------
  6868. INT 21 - Novell NetWare v4+ - GET DS AUDITING STATISTICS
  6869.     AX = F268h subfn C8h
  6870.     CX = length of request buffer in bytes (0001h)
  6871.     DX = length of reply buffer in bytes (0020h)
  6872.     DS:SI -> request buffer (see #2130)
  6873.     ES:DI -> reply buffer (see #2131)
  6874. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6875.     reply buffer filled
  6876. SeeAlso: AX=F258h/SF=01h,AX=F268h/SF=01h,AX=F268h/SF=04h
  6877.  
  6878. Format of NetWare "Get DS Auditing Statistics" request buffer:
  6879. Offset    Size    Description    (Table 2130)
  6880.  00h    BYTE    C8h (subfunction "Get DS Auditing Statistics")
  6881. SeeAlso: #2131
  6882.  
  6883. Format of NetWare "Get DS Auditing Statistics" reply buffer:
  6884. Offset    Size    Description    (Table 2131)
  6885.  00h    WORD    auditing version (date)
  6886.  02h    WORD    audit file version (date)
  6887.  04h    DWORD    auditing enabled flag
  6888.  08h    DWORD    audit file's size
  6889.  0Ch    DWORD    audit configuration file's size
  6890.  10h    DWORD    maximum audit file size
  6891.  14h    DWORD    audit file size threshold
  6892.  18h    DWORD    number of audit records
  6893.  1Ch    DWORD    number of history records
  6894. SeeAlso: #2079,#2130
  6895. --------N-21F269-----------------------------
  6896. INT 21 - Novell NetWare - LOG FILE
  6897.     AX = F269h
  6898.     CX = length of request packet in bytes
  6899.     DX = 0000h (no reply packet)
  6900.     DS:SI -> request packet (see #2132)
  6901.     ES:DI ignored
  6902. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6903. SeeAlso: AH=F2h"Novell",AX=F203h,AX=F26Ah,AH=EBh"NetWare"
  6904.  
  6905. Format of NetWare "Log File" request packet:
  6906. Offset    Size    Description    (Table 2132)
  6907.  00h    BYTE    directory handle
  6908.  01h    BYTE    lock flag
  6909.         00h log only
  6910.         01h log and lock
  6911.  02h    WORD    lock timeout in clock ticks (0000h = don't wait)
  6912.  04h    BYTE    length of filename
  6913.  05h  N BYTEs    filename
  6914. --------N-21F26A-----------------------------
  6915. INT 21 - Novell NetWare - LOCK FILE SET
  6916.     AX = F26Ah
  6917.     CX = length of request packet in bytes
  6918.     DX = 0000h (no reply packet)
  6919.     DS:SI -> request packet (see #2133)
  6920.     ES:DI ignored
  6921. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6922. SeeAlso: AH=F2h"Novell",AX=F204h,AX=F269h,AH=CBh"NetWare"
  6923.  
  6924. Format of NetWare "Lock File Set" request packet:
  6925. Offset    Size    Description    (Table 2133)
  6926.  00h    WORD    lock timeout in clock ticks (0000h = don't wait)
  6927. --------N-21F26C-----------------------------
  6928. INT 21 - Novell NetWare - LOCK LOGICAL RECORD SET
  6929.     AX = F26Ch
  6930.     CX = length of request packet in bytes
  6931.     DX = 0000h (no reply packet)
  6932.     DS:SI -> request packet (see #2134)
  6933.     ES:DI ignored
  6934. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6935. SeeAlso: AH=F2h"Novell",AX=F20Ah,AX=F26Ah,AH=CBh"NetWare"
  6936.  
  6937. Format of NetWare "Lock Logical Record Set" request packet:
  6938. Offset    Size    Description    (Table 2134)
  6939.  00h    BYTE    lock flag
  6940.         00h shareable lock
  6941.         01h exclusive lock
  6942.  01h    WORD    lock timeout in clock ticks (0000h = don't wait)
  6943. --------N-21F26E-----------------------------
  6944. INT 21 - Novell NetWare - LOCK PHYSICAL RECORD SET
  6945.     AX = F26Eh
  6946.     CX = length of request packet in bytes
  6947.     DX = 0000h (no reply packet)
  6948.     DS:SI -> request packet (see #2135)
  6949.     ES:DI ignored
  6950. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6951. SeeAlso: AH=F2h"Novell",AX=F21Bh,AX=F26Ch,AH=C2h"NetWare"
  6952.  
  6953. Format of NetWare "Lock Physical Record Set" request packet:
  6954. Offset    Size    Description    (Table 2135)
  6955.  00h    BYTE    lock flag
  6956.         00h exclusive lock
  6957.         02h shareable lock
  6958.  01h    WORD    lock timeout in clock ticks (0000h = don't wait)
  6959. --------N-21F26FSF00-------------------------
  6960. INT 21 - Novell NetWare - OPEN SEMAPHORE
  6961.     AX = F26Fh subfn 00h
  6962.     CX = length of request buffer in bytes
  6963.     DX = length of reply buffer in bytes
  6964.     DS:SI -> request buffer (see #2136)
  6965.     ES:DI -> reply buffer (see #2137)
  6966. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6967. SeeAlso: AH=F2h"Novell",AX=F26Fh/SF=01h,AX=F26Fh/SF=02h
  6968.  
  6969. Format of NetWare "Open Semaphore" request packet:
  6970. Offset    Size    Description    (Table 2136)
  6971.  00h    BYTE    00h (subfunction "Open Semaphore")
  6972.  01h    BYTE    initial semaphore value
  6973.  02h    BYTE    length of semaphore's name
  6974.  03h  N BYTEs    semaphore name
  6975. SeeAlso: #2137
  6976.  
  6977. Format of NetWare "Open Semaphore" request packet:
  6978. Offset    Size    Description    (Table 2137)
  6979.  00h    DWORD    semaphore handle
  6980.  04h    BYTE    number of clients using semaphore (including caller)
  6981. SeeAlso: #2136
  6982. --------N-21F26FSF01-------------------------
  6983. INT 21 - Novell NetWare - CLOSE SEMAPHORE
  6984.     AX = F26Fh subfn 01h
  6985.     CX = length of request packet in bytes
  6986.     DX = 0000h (no reply packet)
  6987.     DS:SI -> request packet (see #2138)
  6988.     ES:DI ignored
  6989. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  6990. SeeAlso: AH=F2h"Novell",AX=F26Fh/SF=00h,AX=F26Fh/SF=03h,AX=F220h/SF=04h
  6991.  
  6992. Format of NetWare "Close Semaphore" request packet:
  6993. Offset    Size    Description    (Table 2138)
  6994.  00h    BYTE    01h (subfunction "Close Semaphore")
  6995.  01h    DWORD    semaphore handle
  6996. SeeAlso: #1941
  6997. --------N-21F26FSF02-------------------------
  6998. INT 21 - Novell NetWare - WAIT ON SEMAPHORE
  6999.     AX = F26Fh subfn 02h
  7000.     CX = length of request packet in bytes
  7001.     DX = 0000h (no reply packet)
  7002.     DS:SI -> request packet (see #2139)
  7003.     ES:DI ignored
  7004. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7005. SeeAlso: AH=F2h"Novell",AX=F26Fh/SF=00h,AX=F26Fh/SF=04h
  7006.  
  7007. Format of NetWare "Wait on Semaphore" request packet:
  7008. Offset    Size    Description    (Table 2139)
  7009.  00h    BYTE    02h (subfunction "Wait on Semaphore")
  7010.  01h    DWORD    semaphore handle
  7011.  05h    WORD    timeout in clock ticks (0000h = no wait)
  7012. --------N-21F26FSF03-------------------------
  7013. INT 21 - Novell NetWare - SIGNAL SEMAPHORE
  7014.     AX = F26Fh subfn 03h
  7015.     CX = length of request packet in bytes
  7016.     DX = 0000h (no reply packet)
  7017.     DS:SI -> request packet (see #2140)
  7018.     ES:DI ignored
  7019. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7020. SeeAlso: AH=F2h"Novell",AX=F26Fh/SF=02h,AX=F26Fh/SF=04h
  7021.  
  7022. Format of NetWare "Signal Semaphore" request packet:
  7023. Offset    Size    Description    (Table 2140)
  7024.  00h    BYTE    03h (subfunction "Signal Semaphore")
  7025.  01h    DWORD    semaphore handle
  7026. --------N-21F26FSF04-------------------------
  7027. INT 21 - Novell NetWare - EXAMINE SEMAPHORE
  7028.     AX = F26Fh subfn 04h
  7029.     CX = length of request buffer in bytes
  7030.     DX = length of reply buffer in bytes
  7031.     DS:SI -> request buffer (see #2141)
  7032.     ES:DI -> reply buffer (see #2142)
  7033. Return: AX = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7034. SeeAlso: AH=F2h"Novell",AX=F26Fh/SF=02h,AX=F26Fh/SF=03h
  7035.  
  7036. Format of NetWare "Examine Semaphore" request packet:
  7037. Offset    Size    Description    (Table 2141)
  7038.  00h    BYTE    04h (subfunction "Examine Semaphore")
  7039.  01h    DWORD    semaphore handle
  7040. SeeAlso: #2142
  7041.  
  7042. Format of NetWare "Examine Semaphore" reply packet:
  7043. Offset    Size    Description    (Table 2142)
  7044.  00h    BYTE    semaphore's current value
  7045.  01h    BYTE    number of clients using semaphore
  7046. SeeAlso: #2141
  7047. --------N-21F272-----------------------------
  7048. INT 21 - Novell NetWare v4+ - GET FILE SERVER UTC TIME
  7049.     AX = F272h
  7050.     CX = length of request buffer in bytes (0003h)
  7051.     DX = length of reply buffer in bytes (0064h)
  7052.     DS:SI -> request buffer (see #2143)
  7053.     ES:DI -> reply buffer (see #2144)
  7054. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7055.     reply buffer filled
  7056.  
  7057. Format of NetWare "Get File Server UTC Time" request buffer:
  7058. Offset    Size    Description    (Table 2143)
  7059.  00h    BYTE    ??? (00h)
  7060.  01h    BYTE    ??? (01h)
  7061.  02h    BYTE    ??? (01h)
  7062. SeeAlso: #2144
  7063.  
  7064. Format of NetWare "Get File Server UTC Time" reply buffer:
  7065. Offset    Size    Description    (Table 2144)
  7066.  00h    DWORD    seconds
  7067.  04h    DWORD    ???
  7068.  04h    DWORD    ??? (00000204h)
  7069.  04h    DWORD    ??? (00000000h)
  7070.  04h    DWORD    ??? (00000000h)
  7071.  04h    DWORD    ??? (FFFFFFFFh)
  7072.  04h    DWORD    ??? (00000000h)
  7073. SeeAlso: #2143
  7074. --------N-21F27BSF01-------------------------
  7075. INT 21 - Novell NetWare v4+ - GET CACHE INFORMATION
  7076.     AX = F27Bh subfn 01h
  7077.     CX = length of request buffer in bytes
  7078.     DX = length of reply buffer in bytes
  7079.     DS:SI -> request buffer (see #2145)
  7080.     ES:DI -> reply buffer (see #2146)
  7081. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7082.     reply buffer filled
  7083. SeeAlso: AX=F27Bh/SF=02h
  7084.  
  7085. Format of NetWare "Get Cache Information" request buffer:
  7086. Offset    Size    Description    (Table 2145)
  7087.  00h    WORD    0001h (length of following data)
  7088.  02h    BYTE    01h (subfunction "Get Cache Information")
  7089. SeeAlso: #2146
  7090.  
  7091. Format of NetWare "Get Cache Information" reply buffer:
  7092. Offset    Size    Description    (Table 2146)
  7093.  00h    DWORD    current server time
  7094.  04h    BYTE    vconsole version
  7095.  05h    BYTE    vconsole revision
  7096.  06h    WORD    reserved
  7097.  08h    DWORD    "readExistingBlockCount"
  7098.  0Ch    DWORD    "readExistingWriteWaitCount"
  7099.  10h    DWORD    "readExistingPartialReadCount"
  7100.  14h    DWORD    "readExistingReadErrorCount"
  7101.  18h    DWORD    "writeBlockCount"
  7102.  1Ch    DWORD    "writeEntireBlockCount"
  7103.  20h    DWORD    "getDiskCount"
  7104.  24h    DWORD    "getDiskNeedToAllocCount"
  7105.  28h    DWORD    "getDiskSomeoneBeatMeCount"
  7106.  2Ch    DWORD    "getDiskPartialReadCount"
  7107.  30h    DWORD    "getDiskReadErrorCount"
  7108.  34h    DWORD    "getAsyncDiskCount"
  7109.  38h    DWORD    "getAsyncDiskNeedToAlloc"
  7110.  3Ch    DWORD    "getAsyncDiskSomeoneBeatMe"
  7111.  40h    DWORD    "errorDoingAsyncReadCount"
  7112.  44h    DWORD    "getDiskNoReadCount"
  7113.  48h    DWORD    "getDiskNoReadAllocCount"
  7114.  4Ch    DWORD    "getDiskNoReadSomeoneBeatMeCount"
  7115.  50h    DWORD    "diskWriteCount"
  7116.  54h    DWORD    "diskWriteAllocCount"
  7117.  58h    DWORD    "diskWriteSomeoneBeatMeCount"
  7118.  5Ch    DWORD    "writeErrorCount"
  7119.  60h    DWORD    "waitOnSemaphoreCount"
  7120.  64h    DWORD    "allocBlockWaitForSomeoneCount"
  7121.  68h    DWORD    "allocBlockCount"
  7122.  6Ch    DWORD    "allocBlockWaitCount"
  7123.  70h    DWORD    original number of cache buffers
  7124.  74h    DWORD    current number of cache buffers
  7125.  78h    DWORD    cache dirty-block threshold
  7126.  7Ch    DWORD    "waitNodeCount"
  7127.  80h    DWORD    "waitNodeAllocFailureCount"
  7128.  84h    DWORD    "moveCacheNodeCount"
  7129.  88h    DWORD    "moveCacheNodeFromAvailCount"
  7130.  8Ch    DWORD    "accelerateCacheNodeWriteCount"
  7131.  90h    DWORD    "removeCacheNodeCount"
  7132.  94h    DWORD    "removeCacheNodeFromAvailCount"
  7133.  98h    DWORD    number of cache checks
  7134.  9Ch    DWORD    number of cache hits
  7135.  A0h    DWORD    number of dirty-cache checks
  7136.  A4h    DWORD    number of dirty-cache hits
  7137.  A8h    DWORD    "cacheUsedWhileChecking"
  7138.  ACh    DWORD    "waitForDirtyBlocksDecreaseCount"
  7139.  B0h    DWORD    "allocBlockFromAvailCount"
  7140.  B4h    DWORD    "allocBlockFromLRUCount"
  7141.  B8h    DWORD    "allocBlockAlreadyWaiting"
  7142.  BCh    DWORD    "LRUSittingTime"
  7143.  C0h    DWORD    maximum byte count
  7144.  C4h    DWORD    minimum number of cache buffers
  7145.  C8h    DWORD    minimum cache report threshold
  7146.  D0h    DWORD    "allocWaitingCount"
  7147.  D4h    DWORD    number of dirty cache blocks
  7148.  D8h    DWORD    "cacheDirtyWaitTime"
  7149.  DCh    DWORD    "maxDirtyTime"
  7150.  E0h    DWORD    number of directory cache buffers
  7151.  E4h    DWORD    "cacheByteToBlockShiftFactor"
  7152. SeeAlso: #2145
  7153. --------N-21F27BSF02-------------------------
  7154. INT 21 - Novell NetWare v4+ - GET SERVER INFORMATION
  7155.     AX = F27Bh subfn 02h
  7156.     CX = length of request buffer in bytes
  7157.     DX = length of reply buffer in bytes
  7158.     DS:SI -> request buffer (see #2147)
  7159.     ES:DI -> reply buffer (see #2148)
  7160. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7161.     reply buffer filled
  7162. SeeAlso: AX=F27Bh/SF=01h
  7163.  
  7164. Format of NetWare "Get Server Information" request buffer:
  7165. Offset    Size    Description    (Table 2147)
  7166.  00h    WORD    0001h (length of following data)
  7167.  02h    BYTE    02h (subfunction "Get Server Information")
  7168. SeeAlso: #2148
  7169.  
  7170. Format of NetWare "Get Server Information" reply buffer:
  7171. Offset    Size    Description    (Table 2148)
  7172.  00h    DWORD    current server time
  7173.  04h    BYTE    vconsole version
  7174.  05h    BYTE    vconsole revision
  7175.  06h    WORD    reserved
  7176.  08h    DWORD    current NCP stations in use
  7177.  0Ch    DWORD    peak NCP stations in use
  7178.  10h    DWORD    total NCP requests
  7179.  14h    DWORD    server utilization
  7180.  18h    DWORD    number of cancelled replies
  7181.  1Ch    DWORD    "writeHeldOffCount"
  7182.  20h    DWORD    "writeHeldOffWithDuplicateRequest"
  7183.  24h    DWORD    number of invalid request types
  7184.  28h    DWORD    "beingAbortedCount"
  7185.  2Ch    DWORD    "alreadyDoingReallocCount"
  7186.  30h    DWORD    "deAllocInvalidSlotCount"
  7187.  34h    DWORD    "deAllocBeingProcessedCount"
  7188.  38h    DWORD    "deAllocForgedPacketCount"
  7189.  3Ch    DWORD    "startStationErrorCount"
  7190.  40h    DWORD    number of invalid slot numbers
  7191.  44h    DWORD    "beingProcessedCount"
  7192.  48h    DWORD    number of forged packets
  7193.  4Ch    DWORD    number still transmitting
  7194.  50h    DWORD    "reExecuteRequestCount"
  7195.  54h    DWORD    number of invalid sequence numbers
  7196.  58h    DWORD    "duplicateIsBeingSentAlreadyCnt"
  7197.  5Ch    DWORD    number of positive acknowledgements sent
  7198.  60h    DWORD    number of duplicate replies sent
  7199.  64h    DWORD    number of times out of memory for station control
  7200.  68h    DWORD    number of times out of available connections
  7201.  6Ch    DWORD    "reallocSlotCount"
  7202.  70h    DWORD    "reallocSlotCameTooSoonCount"
  7203.  74h    WORD    number of times maximum hop count exceeded
  7204.  76h    WORD    number of unknown networks
  7205.  78h    WORD    "NoSpaceForService"
  7206.  7Ah    WORD    number of times out of receive buffers
  7207.  7Ch    WORD    "notMyNetwork"
  7208.  7Eh    DWORD    number of NetBIOS packets propagated
  7209.  82h    DWORD    total number of packets serviced
  7210.  86h    DWORD    total number of packets routed
  7211. SeeAlso: #2147
  7212. --------N-21F27BSF04-------------------------
  7213. INT 21 - Novell NetWare v4+ - GET USER INFORMATION
  7214.     AX = F27Bh subfn 04h
  7215.     CX = length of request buffer in bytes
  7216.     DX = length of reply buffer in bytes
  7217.     DS:SI -> request buffer (see #2149)
  7218.     ES:DI -> reply buffer (see #2150)
  7219. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7220.     reply buffer filled
  7221.  
  7222. Format of NetWare "Get User Information" request buffer:
  7223. Offset    Size    Description    (Table 2149)
  7224.  00h    WORD    0005h (length of following data)
  7225.  02h    BYTE    04h (subfunction "Get User Information")
  7226.  03h    DWORD    connection number
  7227. SeeAlso: #2150
  7228.  
  7229. Format of NetWare "Get User Information" reply buffer:
  7230. Offset    Size    Description    (Table 2150)
  7231.  00h    DWORD    current server time
  7232.  04h    BYTE    vconsole version
  7233.  05h    BYTE    vconsole revision
  7234.  06h    WORD    reserved
  7235.  08h    DWORD    connection number
  7236.  0Ch    DWORD    use count
  7237.  10h    BYTE    connection service type
  7238.  11h  7 BYTEs    login time
  7239.  18h    DWORD    status
  7240.  1Ch    DWORD    expiration time
  7241.  20h    DWORD    object type
  7242.  24h    BYTE    transaction flag
  7243.  25h    BYTE    logical lock threshold
  7244.  26h    BYTE    record lock threshold
  7245.  27h    BYTE    file write flags
  7246.  28h    BYTE    file write state
  7247.  29h    BYTE    (filler)
  7248.  2Ah    WORD    file lock count
  7249.  2Ch    WORD    record lock count
  7250.  2Eh  6 BYTEs    total number of bytes read
  7251.  34h  6 BYTEs    total number of bytes written
  7252.  3Ah    DWORD    total requests
  7253.  3Eh    DWORD    held requests
  7254.  42h  6 BYTEs    held bytes read
  7255.  48h  6 BYTEs    held bytes written
  7256.  4Eh    BYTE    length of user name
  7257.  4Fh  N BYTEs    user name
  7258. SeeAlso: #2149
  7259. --------N-21F27BSF06-------------------------
  7260. INT 21 - Novell NetWare v4+ - GET IPX/SPX Information
  7261.     AX = F27Bh subfn 06h
  7262.     CX = length of request buffer in bytes
  7263.     DX = length of reply buffer in bytes
  7264.     DS:SI -> request buffer (see #2151)
  7265.     ES:DI -> reply buffer (see #2152)
  7266. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7267.     reply buffer filled
  7268.  
  7269. Format of NetWare "Get IPX/SPX Information" request buffer:
  7270. Offset    Size    Description    (Table 2151)
  7271.  00h    WORD    0001h (length of following data)
  7272.  02h    BYTE    06h (subfunction "Get IPX/SPX Information")
  7273. SeeAlso: #2152
  7274.  
  7275. Format of NetWare "Get IPX/SPX Information" reply buffer:
  7276. Offset    Size    Description    (Table 2152)
  7277.  00h    DWORD    current server time
  7278.  04h    BYTE    vconsole version
  7279.  05h    BYTE    vconsole revision
  7280.  06h    WORD    reserved
  7281.  08h    DWORD    number of IPX packets sent
  7282.  0Ch    WORD    number of malformed IPX packets
  7283.  0Eh    DWORD    number of IPX Get-ECB requests
  7284.  12h    DWORD    number of failed IPX Get-ECB requests
  7285.  16h    DWORD    number of IPX AES events
  7286.  1Ah    WORD    number of postponed IPX AES events
  7287.  1Ch    WORD    maximum number of sockets (from configuration)
  7288.  1Eh    WORD    maximum number of open sockets
  7289.  20h    WORD    number of failed IPX socket opens
  7290.  22h    DWORD    number of IPX "listen" ECBs
  7291.  24h    WORD    number of failed IPX EBC cancels
  7292.  26h    WORD    number of failed IPX Get-Local-Target requests
  7293.  28h    WORD    maximum number of SPX connections (from configuration)
  7294.  2Ah    WORD    maximum number of SPX connections used
  7295.  2Ch    WORD    number of SPX Establish-Connection requests
  7296.  2Eh    WORD    number of failed SPX Establish-Connection requests
  7297.  30h    WORD    total number of SPX "listen-connect" requests
  7298.  32h    WORD    number of failed SPX "listen-connect" requests
  7299.  34h    DWORD    number of SPX sends
  7300.  38h    DWORD    number of SPX "window-choke"s
  7301.  3Ch    WORD    number of bad SPX sends
  7302.  3Eh    WORD    number of failed SPX sends
  7303.  40h    WORD    number of aborted SPX connections
  7304.  42h    DWORD    number of SPX packet listens
  7305.  46h    WORD    number of bad SPX packet listens
  7306.  48h    DWORD    number of incoming SPX packets
  7307.  4Ch    WORD    number of bad incoming SPX packets
  7308.  4Eh    WORD    number of supressed SPX packets
  7309.  50h    WORD    "SPXNoSesListenECBCount"
  7310.  52h    WORD    "SPXWatchDogDestSesCount"
  7311. SeeAlso: #2151
  7312. --------N-21F27BSF08-------------------------
  7313. INT 21 - Novell NetWare v4+ - GET CPU INFORMATION
  7314.     AX = F27Bh subfn 08h
  7315.     CX = length of request buffer in bytes
  7316.     DX = length of reply buffer in bytes
  7317.     DS:SI -> request buffer (see #2153)
  7318.     ES:DI -> reply buffer (see #2154)
  7319. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7320.     reply buffer filled
  7321.  
  7322. Format of NetWare "Get CPU Information" request buffer:
  7323. Offset    Size    Description    (Table 2153)
  7324.  00h    WORD    0005h (length of following data)
  7325.  02h    BYTE    08h (subfunction "Get CPU Information")
  7326.  03h    DWORD    CPU number
  7327. SeeAlso: #2154
  7328.  
  7329. Format of NetWare "Get CPU Information" reply buffer:
  7330. Offset    Size    Description    (Table 2154)
  7331.  00h    DWORD    current server time
  7332.  04h    BYTE    vconsole version
  7333.  05h    BYTE    vconsole revision
  7334.  06h    WORD    reserved
  7335.  08h    DWORD    number of CPUs
  7336.  0Ch    DWORD    page table owner flag
  7337.  10h    DWORD    CPU type flag
  7338.  14h    DWORD    coprocessor flag
  7339.  18h    DWORD    bus type flag
  7340.  1Ch    DWORD    I/O engine flag
  7341.  20h    DWORD    filesystem engine flag
  7342.  24h    DWORD    non-dedicated flag
  7343.  28h 201 BYTEs    counted string: CPU string;number of coprocessors;bus string
  7344. SeeAlso: #2153
  7345. --------N-21F27BSF09-------------------------
  7346. INT 21 - Novell NetWare v4+ - GET VOLUME SWITCH INFORMATION
  7347.     AX = F27Bh subfn 09h
  7348.     CX = length of request buffer in bytes
  7349.     DX = length of reply buffer in bytes
  7350.     DS:SI -> request buffer (see #2155)
  7351.     ES:DI -> reply buffer (see #2156)
  7352. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7353.     reply buffer filled
  7354.  
  7355. Format of NetWare "Get Volume Switch Information" request buffer:
  7356. Offset    Size    Description    (Table 2155)
  7357.  00h    WORD    0005h (length of following data)
  7358.  02h    BYTE    09h (subfunction "Get Volume Switch Information")
  7359.  03h    DWORD    starting item number
  7360. SeeAlso: #2156
  7361.  
  7362. Format of NetWare "Get Volume Switch Information" reply buffer:
  7363. Offset    Size    Description    (Table 2156)
  7364.  00h    DWORD    current server time
  7365.  04h    BYTE    vconsole version
  7366.  05h    BYTE    vconsole revision
  7367.  06h    WORD    reserved
  7368.  08h    DWORD    total LFS counters
  7369.  0Ch    DWORD    current LFS counters
  7370.  10h    DWORD    "readFile"
  7371.  14h    DWORD    "writeFile"
  7372.  18h    DWORD    "deleteFile"
  7373.  1Ch    DWORD    "renMove"
  7374.  20h    DWORD    "openFile"
  7375.  24h    DWORD    "createFile"
  7376.  28h    DWORD    "createAndOpenFile"
  7377.  2Ch    DWORD    "closeFile"
  7378.  30h    DWORD    "scanDeleteFile"
  7379.  34h    DWORD    "salvageFile"
  7380.  38h    DWORD    "purgeFile"
  7381.  3Ch    DWORD    "migrateFile"
  7382.  40h    DWORD    "deMigrateFile"
  7383.  44h    DWORD    "createDir"
  7384.  48h    DWORD    "deleteDir"
  7385.  4Ch    DWORD    "directoryScans"
  7386.  50h    DWORD    "mapPathToDirNum"
  7387.  54h    DWORD    "modifyDirEntry"
  7388.  58h    DWORD    "getAccessRights"
  7389.  5Ch    DWORD    "getAccessRightsFromIDs"
  7390.  60h    DWORD    "mapDirNumToPath"
  7391.  64h    DWORD    "getEntryFromPathStrBase"
  7392.  68h    DWORD    "getOtherNSEntry"
  7393.  6Ch    DWORD    "getExtDirInfo"
  7394.  70h    DWORD    "getParentDirNum"
  7395.  74h    DWORD    "addTrusteeR"
  7396.  78h    DWORD    "scanTrusteeR"
  7397.  7Ch    DWORD    "delTrusteeR"
  7398.  80h    DWORD    "purgeTrust"
  7399.  84h    DWORD    "findNextTrustRef"
  7400.  88h    DWORD    "scanUserRestNodes"
  7401.  8Ch    DWORD    "addUserRest"
  7402.  90h    DWORD    "deleteUserRest"
  7403.  94h    DWORD    "rtnDirSpaceRest"
  7404.  98h    DWORD    "getActualAvailDskSp"
  7405.  9Ch    DWORD    "cntOwnedFilesAndDirs"
  7406.  A0h    DWORD    "migFileInfo"
  7407.  A4h    DWORD    "volMigInfo"
  7408.  A8h    DWORD    "readMigFileData"
  7409.  ACh    DWORD    "getVolusageStats"
  7410.  B0h    DWORD    "getActualVolUsageStats"
  7411.  B4h    DWORD    "getDirUsageStats"
  7412.  B8h    DWORD    "NMFileReadsCount"
  7413.  BCh    DWORD    "NMFileWritesCount"
  7414.  C0h    DWORD    "mapPathToDirNumOrPhantom"
  7415.  C4h    DWORD    "stationsHasAccessRgtsGntedBelow"
  7416.  C8h    DWORD    "gtDataSteamLensFromPathStrBase"
  7417.  CCh    DWORD    "checkAndGetDirectoryEntry"
  7418.  D0h    DWORD    "getDeletedEntry"
  7419.  D4h    DWORD    "getOriginalNameSpace"
  7420.  D8h    DWORD    "getActualFileSize"
  7421.  DCh    DWORD    "verifyNameSpaceNumber"
  7422.  E0h    DWORD    "verifyDataStreamNumber"
  7423.  E4h    DWORD    "checkVolumeNumber"
  7424.  E8h    DWORD    "commitFile"
  7425.  ECh    DWORD    "VMGetDirectoryEntry"
  7426.  F0h    DWORD    "createDMFileEntry"
  7427.  F4h    DWORD    "renameNameSpaceEntry"
  7428.  F8h    DWORD    "logFile"
  7429.  FCh    DWORD    "releaseFile"
  7430. 100h    DWORD    "clearFile"
  7431. 104h    DWORD    "setVolumeFlag"
  7432. 108h    DWORD    "clearVolumeFlag"
  7433. 10Ch    DWORD    "getOriginalInfo"
  7434. 110h    DWORD    "createMigratedDir"
  7435. 114h    DWORD    "F3OpenCreate"
  7436. 118h    DWORD    "F3InitFileSearch"
  7437. 11Ch    DWORD    "F3ContinueFileSearch"
  7438. 120h    DWORD    "F3RenameFile"
  7439. 124h    DWORD    "F3ScanForTrustees"
  7440. 128h    DWORD    "F3ObtainFileInfo"
  7441. 12Ch    DWORD    "F3ModifyInfo"
  7442. 130h    DWORD    "F3EraseFile"
  7443. 134h    DWORD    "F3SetDirHandle"
  7444. 138h    DWORD    "F3AddTrustees"
  7445. 13Ch    DWORD    "F3DeleteTrustees"
  7446. 140h    DWORD    "F3AllocDirHandle"
  7447. 144h    DWORD    "F3ScanSalvagedFiles"
  7448. 148h    DWORD    "F3RecoverSalvagedFiles"
  7449. 14Ch    DWORD    "F3PurgeSalvageableFile"
  7450. 150h    DWORD    "F3GetNSSpecificInfo"
  7451. 154h    DWORD    "F3ModifyNSSpecificInfo"
  7452. 158h    DWORD    "F3SearchSet"
  7453. 15Ch    DWORD    "F3GetDirBase"
  7454. 160h    DWORD    "F3QueryNameSpaceInfo"
  7455. 164h    DWORD    "F3GetNameSpaceList"
  7456. 168h    DWORD    "F3GetHugeInfo"
  7457. 16Ch    DWORD    "F3SetHugeInfo"
  7458. 170h    DWORD    "F3GetFullPathString"
  7459. 174h    DWORD    "F3GetEffectiveDirectoryRights"
  7460. SeeAlso: #2155
  7461. --------N-21F27BSF0A-------------------------
  7462. INT 21 - Novell NetWare v4+ - GET LOADED NLMs
  7463.     AX = F27Bh subfn 0Ah
  7464.     CX = length of request buffer in bytes
  7465.     DX = length of reply buffer in bytes
  7466.     DS:SI -> request buffer (see #2157)
  7467.     ES:DI -> reply buffer (see #2158)
  7468. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7469.     reply buffer filled
  7470.  
  7471. Format of NetWare "Get NLMs Loaded" request buffer:
  7472. Offset    Size    Description    (Table 2157)
  7473.  00h    WORD    0005h (length of following data)
  7474.  02h    BYTE    0Ah (subfunction "Get NLMs Loaded")
  7475.  03h    DWORD    first NLM number to report
  7476. SeeAlso: #2158
  7477.  
  7478. Format of NetWare "Get NLMs Loaded" reply buffer:
  7479. Offset    Size    Description    (Table 2158)
  7480.  00h    DWORD    current server time
  7481.  04h    BYTE    vconsole version
  7482.  05h    BYTE    vconsole revision
  7483.  06h    WORD    reserved
  7484.  08h    DWORD    total number of NLMs
  7485.  0Ch    DWORD    number of NLM numbers following (max 50)
  7486.  10h 50 DWORDs    NLM numbers
  7487. SeeAlso: #2157
  7488. --------N-21F27BSF0B-------------------------
  7489. INT 21 - Novell NetWare v4+ - GET NLM INFORMATION
  7490.     AX = F27Bh subfn 0Bh
  7491.     CX = length of request buffer in bytes
  7492.     DX = length of reply buffer in bytes
  7493.     DS:SI -> request buffer (see #2159)
  7494.     ES:DI -> reply buffer (see #2160)
  7495. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7496.     reply buffer filled
  7497.  
  7498. Format of NetWare "Get NLM Information" request buffer:
  7499. Offset    Size    Description    (Table 2159)
  7500.  00h    WORD    0005h (length of following data)
  7501.  02h    BYTE    0Bh (subfunction "Get NLM Information")
  7502.  03h    DWORD    NLM number
  7503. SeeAlso: #2160
  7504.  
  7505. Format of NetWare "Get NLM Information" reply buffer:
  7506. Offset    Size    Description    (Table 2160)
  7507.  00h    DWORD    current server time
  7508.  04h    BYTE    vconsole version
  7509.  05h    BYTE    vconsole revision
  7510.  06h    WORD    reserved
  7511.  08h    DWORD    identification number
  7512.  0Ch    DWORD    flags
  7513.  10h    DWORD    NLM type (see #2161)
  7514.  14h    DWORD    parent identifier
  7515.  18h    DWORD    major version
  7516.  1Ch    DWORD    minor version
  7517.  20h    DWORD    revision
  7518.  24h    DWORD    year
  7519.  28h    DWORD    month
  7520.  2Ch    DWORD    day
  7521.  30h    DWORD    bytes available for allocation
  7522.  34h    DWORD    "allocFreeCount"
  7523.  38h    DWORD    last garbage collection
  7524.  3Ch    DWORD    message language
  7525.  40h    DWORD    number of referenced public identifiers
  7526.  44h 200 BYTEs    NLM strings: filename, NLM name, copyright
  7527. SeeAlso: #2159
  7528.  
  7529. (Table 2161)
  7530. Values for NetWare NLM type:
  7531.  0001h    LAN
  7532.  0002h    DSK
  7533.  0003h    NAM
  7534.  0004h    utility NLM
  7535.  0005h    MSL
  7536.  0006h    operating system NLM
  7537.  0007h    paged NLM
  7538.  0008h    HAM
  7539.  0009h    CDM
  7540.  000Ah    file system NLM
  7541.  000Bh    real mode NLM
  7542.  000Ch    hidden NLM
  7543. SeeAlso: #2160
  7544. --------N-21F27BSF0D-------------------------
  7545. INT 21 - Novell NetWare v4+ - GET OS VERSION INFORMATION
  7546.     AX = F27Bh subfn 0Dh
  7547.     CX = length of request buffer in bytes
  7548.     DX = length of reply buffer in bytes
  7549.     DS:SI -> request buffer (see #2162)
  7550.     ES:DI -> reply buffer (see #2163)
  7551. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7552.     reply buffer filled
  7553.  
  7554. Format of NetWare "Get OS Version Information" request buffer:
  7555. Offset    Size    Description    (Table 2162)
  7556.  00h    WORD    0001h (length of following data)
  7557.  02h    BYTE    0Dh (subfunction "Get OS Version Information")
  7558. SeeAlso: #2163
  7559.  
  7560. Format of NetWare "Get OS Version Information" reply buffer:
  7561. Offset    Size    Description    (Table 2163)
  7562.  00h    DWORD    current server time
  7563.  04h    BYTE    vconsole version
  7564.  05h    BYTE    vconsole revision
  7565.  06h    WORD    reserved
  7566.  08h    BYTE    operating system major version
  7567.  09h    BYTE    operating system minor version
  7568.  0Ah    BYTE    operating system revision number
  7569.  0Bh    BYTE    accounting version
  7570.  0Ch    BYTE    VAP version
  7571.  0Dh    BYTE    queueing version
  7572.  0Eh    BYTE    security restrictions level
  7573.  0Fh    BYTE    bridging support
  7574.  10h    DWORD    maximum number of volumes
  7575.  14h    DWORD    number of connection slots
  7576.  18h    DWORD    maximum number of logged-in connections
  7577.  1Ch    DWORD    maximum number of name spaces
  7578.  20h    DWORD    maximum number of LANs
  7579.  24h    DWORD    maximum number of media types
  7580.  28h    DWORD    maximum number of protocols
  7581.  2Ch    DWORD    maximum subdirectory tree depth
  7582.  30h    DWORD    maximum number of data streams
  7583.  34h    DWORD    maximum number of spooled printers
  7584.  38h    DWORD    serial number
  7585.  3Ch    WORD    application number
  7586. SeeAlso: #2162
  7587. --------N-21F27BSF14-------------------------
  7588. INT 21 - Novell NetWare v4+ - GET ACTIVE LAN BOARD LIST
  7589.     AX = F27Bh subfn 14h
  7590.     CX = length of request buffer in bytes
  7591.     DX = length of reply buffer in bytes
  7592.     DS:SI -> request buffer (see #2164)
  7593.     ES:DI -> reply buffer (see #2165)
  7594. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7595.     reply buffer filled
  7596.  
  7597. Format of NetWare "Get Active LAN Board List" request buffer:
  7598. Offset    Size    Description    (Table 2164)
  7599.  00h    WORD    0005h (length of following data)
  7600.  02h    BYTE    14h (subfunction "Get Active LAN Board List")
  7601.  03h    DWORD    start number
  7602. SeeAlso: #2165
  7603.  
  7604. Format of NetWare "Get Active LAN Board List" reply buffer:
  7605. Offset    Size    Description    (Table 2165)
  7606.  00h    DWORD    current server time
  7607.  04h    BYTE    vconsole version
  7608.  05h    BYTE    vconsole revision
  7609.  06h    WORD    reserved
  7610.  08h    DWORD    maximum number of LANs
  7611.  0Ch    DWORD    number of LAN board numbers returned
  7612.  10h 50 DWORDs    board numbers
  7613. SeeAlso: #2164
  7614. --------N-21F27BSF15-------------------------
  7615. INT 21 - Novell NetWare v4+ - GET LAN CONFIGURATION
  7616.     AX = F27Bh subfn 15h
  7617.     CX = length of request buffer in bytes
  7618.     DX = length of reply buffer in bytes
  7619.     DS:SI -> request buffer (see #2166)
  7620.     ES:DI -> reply buffer (see #2167)
  7621. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7622.     reply buffer filled
  7623. SeeAlso: AX=F27Bh/SF=16h
  7624.  
  7625. Format of NetWare "Get LAN Configuration" request buffer:
  7626. Offset    Size    Description    (Table 2166)
  7627.  00h    WORD    0005h (length of following data)
  7628.  02h    BYTE    15h (subfunction "Get LAN Configuration")
  7629.  03h    DWORD    LAN board number
  7630. SeeAlso: #2167
  7631.  
  7632. Format of NetWare "Get LAN Configuration" reply buffer:
  7633. Offset    Size    Description    (Table 2167)
  7634.  00h    DWORD    current server time
  7635.  04h    BYTE    vconsole version
  7636.  05h    BYTE    vconsole revision
  7637.  06h    WORD    reserved
  7638.  08h    BYTE    driver configuration major version
  7639.  09h    BYTE    driver configuration minor version
  7640.  0Ah  6 BYTEs    driver node address
  7641.  10h    WORD    driver mode flags
  7642.  12h    WORD    driver board number
  7643.  14h    WORD    driver board instance
  7644.  16h    DWORD    driver maximum size
  7645.  1Ah    DWORD    driver maximum receive size
  7646.  1Eh    DWORD    driver receive size
  7647.  22h  3 DWORDs    reserved
  7648.  2Eh    WORD    driver card ID
  7649.  30h    WORD    driver transport time
  7650.  32h    DWORD    driver source routing
  7651.  36h    WORD    driver line speed
  7652.  38h    WORD    driver reserved
  7653.  3Ah    BYTE    driver major version
  7654.  3Bh    BYTE    driver minor version
  7655.  3Ch    WORD    driver flags
  7656.  3Eh    WORD    driver send retries
  7657.  40h    DWORD    driver link
  7658.  44h    WORD    driver sharing flags
  7659.  46h    WORD    driver slot
  7660.  48h  4 WORDs    driver I/O port and lengths
  7661.  50h    DWORD    driver memory decode 0
  7662.  54h    WORD    driver length 0
  7663.  56h    DWORD    driver memory decode 1
  7664.  5Ah    WORD    driver length 1
  7665.  5Ch  2 BYTEs    driver's interrupts
  7666.  5Eh  2 BYTEs    driver's DMA usage
  7667.  60h 18 BYTEs    driver's logical name
  7668.  72h 14 BYTEs    driver I/O reserved
  7669.  80h 128 BYTEs    driver card name
  7670. 100h 40 BYTEs    driver media type
  7671. 128h 180 BYTEs    driver custom variables
  7672. SeeAlso: #2166
  7673. --------N-21F27BSF16-------------------------
  7674. INT 21 - Novell NetWare v4+ - GET LAN COMMON COUNTERS
  7675.     AX = F27Bh subfn 16h
  7676.     CX = length of request buffer in bytes
  7677.     DX = length of reply buffer in bytes
  7678.     DS:SI -> request buffer (see #2168)
  7679.     ES:DI -> reply buffer (see #2169)
  7680. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7681.     reply buffer filled
  7682. SeeAlso: AX=F27Bh/SF=15h
  7683.  
  7684. Format of NetWare "Get LAN Common Counters" request buffer:
  7685. Offset    Size    Description    (Table 2168)
  7686.  00h    WORD    0009h (length of following data)
  7687.  02h    BYTE    16h (subfunction "Get LAN Common Counters")
  7688.  03h    DWORD    LAN board number
  7689.  07h    DWORD    starting block number (set to 00000000h for first call)
  7690. SeeAlso: #2169
  7691.  
  7692. Format of NetWare "Get LAN Common Counters" reply buffer:
  7693. Offset    Size    Description    (Table 2169)
  7694.  00h    DWORD    current server time
  7695.  04h    BYTE    vconsole version
  7696.  05h    BYTE    vconsole revision
  7697.  06h    WORD    reserved
  7698.  08h    BYTE    statistics major version
  7699.  09h    BYTE    statistics minor version
  7700.  0Ah    DWORD    number of generic counters
  7701.  0Eh    DWORD    number of counter blocks
  7702.  12h    DWORD    number of custom variables
  7703.  16h    DWORD    next counter block number
  7704.  1Ah    DWORD    "notSupportedMask"
  7705.  1Eh    DWORD    total number of packets tranmitted
  7706.  22h    DWORD    total number of packets received
  7707.  26h    DWORD    number of times no ECBs were available
  7708.  2Ah    DWORD    number of transmitted packets which were too large
  7709.  2Eh    DWORD    number of transmitted packets which were too small
  7710.  32h    DWORD    number of packet receive overflows
  7711.  36h    DWORD    number of received packets which were too large
  7712.  3Ah    DWORD    number of received packets which were too small
  7713.  3Eh    DWORD    number of miscellaneous transmitted-packet errors
  7714.  42h    DWORD    number of miscellaneous received-packet errors
  7715.  46h    DWORD    number of times transmission retried
  7716.  4Ah    DWORD    number of checksum errors
  7717.  4Eh    DWORD    number of hardware receive mismatches
  7718.  52h 50 BYTEs    reserved
  7719. SeeAlso: #2168
  7720. --------N-21F27BSF29-------------------------
  7721. INT 21 - Novell NetWare v4+ - GET PROTOCOL STACK BY BOARD
  7722.     AX = F27Bh subfn 29h
  7723.     CX = length of request buffer in bytes
  7724.     DX = length of reply buffer in bytes
  7725.     DS:SI -> request buffer (see #2170)
  7726.     ES:DI -> reply buffer (see #2171)
  7727. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7728.     reply buffer filled
  7729.  
  7730. Format of NetWare "Get Protocol Stack by Board" request buffer:
  7731. Offset    Size    Description    (Table 2170)
  7732.  00h    WORD    0005h (length of following data)
  7733.  02h    BYTE    29h (subfunction "Get Protocol Stack by Board")
  7734.  03h    DWORD    LAN board number
  7735. SeeAlso: #2171
  7736.  
  7737. Format of NetWare "Get Protocol Stack by Board" reply buffer:
  7738. Offset    Size    Description    (Table 2171)
  7739.  00h    DWORD    current server time
  7740.  04h    BYTE    vconsole version
  7741.  05h    BYTE    vconsole revision
  7742.  06h    WORD    reserved
  7743.  08h    WORD    number of stacks listed (max 50)
  7744.  0Ah 50 DWORDs    protocol identifiers
  7745. SeeAlso: #2170
  7746. --------N-21F27BSF33-------------------------
  7747. INT 21 - Novell NetWare v4+ - GET ROUTER INFO
  7748.     AX = F27Bh subfn 33h
  7749.     CX = length of request buffer in bytes
  7750.     DX = length of reply buffer in bytes
  7751.     DS:SI -> request buffer (see #2172)
  7752.     ES:DI -> reply buffer (see #2173)
  7753. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7754.     reply buffer filled
  7755. SeeAlso: AX=F27Bh/SF=35h
  7756.  
  7757. Format of NetWare "Get Router Info" request buffer:
  7758. Offset    Size    Description    (Table 2172)
  7759.  00h    WORD    0005h (length of following data)
  7760.  02h    BYTE    33h (function "Get Router Info")
  7761.  03h    DWORD    network number
  7762. SeeAlso: #2173
  7763.  
  7764. Format of NetWare "Get Router Info" reply buffer:
  7765. Offset    Size    Description    (Table 2173)
  7766.  00h    DWORD    current server time
  7767.  04h    BYTE    vconsole version
  7768.  05h    BYTE    vconsole revision
  7769.  06h    WORD    reserved
  7770.  08h    DWORD    network number
  7771.  0Ch    WORD    hops to net
  7772.  0Eh    WORD    network status
  7773.  10h    WORD    time to net
  7774. SeeAlso: #2172,#2174
  7775. --------N-21F27BSF35-------------------------
  7776. INT 21 - Novell NetWare v4+ - GET KNOWN NETWORKS INFO
  7777.     AX = F27Bh subfn 35h
  7778.     CX = length of request buffer in bytes
  7779.     DX = length of reply buffer in bytes
  7780.     DS:SI -> request buffer (see #2174)
  7781.     ES:DI -> reply buffer (see #2175)
  7782. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7783.     reply buffer filled
  7784. SeeAlso: AX=F27Bh/SF=33h,AX=F27Bh/SF=38h
  7785.  
  7786. Format of NetWare "Get Router Info" request buffer:
  7787. Offset    Size    Description    (Table 2174)
  7788.  00h    WORD    0005h (length of following data)
  7789.  02h    BYTE    35h (function "Get Known Networks Info")
  7790.  03h    DWORD    start number (00000000h)
  7791. SeeAlso: #2175
  7792.  
  7793. Format of NetWare "Get Router Info" reply buffer:
  7794. Offset    Size    Description    (Table 2175)
  7795.  00h    DWORD    current server time
  7796.  04h    BYTE    vconsole version
  7797.  05h    BYTE    vconsole revision
  7798.  06h    WORD    reserved
  7799.  08h    DWORD    number of records following (max 20)
  7800.  0Ch    var    array of network info records
  7801.         Offset    Size    Description
  7802.          00h    WORD    network number
  7803.          04h    WORD    hops to net
  7804.          06h    WORD    network status
  7805.          08h    WORD    time to net
  7806. SeeAlso: #2172,#2174
  7807. --------N-21F27BSF38-------------------------
  7808. INT 21 - Novell NetWare v4+ - GET KNOWN SERVERS INFO
  7809.     AX = F27Bh subfn 38h
  7810.     CX = length of request buffer in bytes
  7811.     DX = length of reply buffer in bytes
  7812.     DS:SI -> request buffer (see #2176)
  7813.     ES:DI -> reply buffer (see #2177)
  7814. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7815.     reply buffer filled
  7816. SeeAlso: AX=F27Bh/SF=35h
  7817.  
  7818. Format of NetWare "Get Known Servers" request buffer:
  7819. Offset    Size    Description    (Table 2176)
  7820.  00h    WORD    0009h (length of following data)
  7821.  02h    BYTE    38h (function "Get Known Servers")
  7822.  03h    DWORD    start number
  7823.  07h    DWORD    server type
  7824. SeeAlso: #2177
  7825.  
  7826. Format of NetWare "Get Known Servers" reply buffer:
  7827. Offset    Size    Description    (Table 2177)
  7828.  00h    DWORD    current server time
  7829.  04h    BYTE    vconsole version
  7830.  05h    BYTE    vconsole revision
  7831.  06h    WORD    reserved
  7832.  08h    DWORD    number of records following (max 20)
  7833.  0Ch    var    server record(s)
  7834.         Offset    Size    Description
  7835.          00h    DWORD    network number
  7836.          04h  6 BYTEs    node number
  7837.          0Ah    WORD    socket number
  7838.          0Ch    WORD    hops to server
  7839.          0Eh 48 BYTEs    object name
  7840. SeeAlso: #2176
  7841. --------N-21F27BSF3C-------------------------
  7842. INT 21 - Novell NetWare v4+ - GET SERVER SET COMMANDS INFO
  7843.     AX = F27Bh subfn 3Ch
  7844.     CX = length of request buffer in bytes
  7845.     DX = length of reply buffer in bytes
  7846.     DS:SI -> request buffer (see #2178)
  7847.     ES:DI -> reply buffer (see #2179)
  7848. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7849.     reply buffer filled
  7850.  
  7851. Format of NetWare "Get Server Set Commands Info" request packet:
  7852. Offset    Size    Description    (Table 2178)
  7853.  00h    WORD    0005h (length of following data)
  7854.  02h    BYTE    3Ch (subfunction "Get Server Set Commands Info")
  7855.  03h    DWORD    start sequence number
  7856. SeeAlso: #2179
  7857.  
  7858. Format of NetWare "Get Server Set Commands Info" packet:
  7859. Offset    Size    Description    (Table 2179)
  7860.  00h    DWORD    current server time
  7861.  04h    BYTE    vconsole version
  7862.  05h    BYTE    vconsole revision
  7863.  06h    WORD    reserved
  7864.  08h    DWORD    number of set commands
  7865.  0Ch    DWORD    next sequence number
  7866.  10h    DWORD    set command type
  7867.  14h    DWORD    set command category
  7868.  18h    DWORD    set command flags
  7869.  1Ch    BYTE    length of set command name
  7870.  1Dh  N BYTEs    set command name
  7871.     BYTE    number of set command values
  7872.       N BYTEs    set command values
  7873. SeeAlso: #2178
  7874. --------N-21F27BSF3D-------------------------
  7875. INT 21 - Novell NetWare v4+ - GET SERVER SET CATEGORIES
  7876.     AX = F27Bh subfn 3Dh
  7877.     CX = length of request buffer in bytes
  7878.     DX = length of reply buffer in bytes
  7879.     DS:SI -> request buffer (see #2180)
  7880.     ES:DI -> reply buffer (see #2181)
  7881. Return: AL = status (see #2507 at INT 2F/AX=7A20h/BX=0000h)
  7882.     reply buffer filled
  7883.  
  7884. Format of NetWare "Get Server Set Categories" request packet:
  7885. Offset    Size    Description    (Table 2180)
  7886.  00h    WORD    0005h (length of following data)
  7887.  02h    BYTE    3Dh (subfunction "Get Server Set Categories")
  7888.  03h    DWORD    start sequence number
  7889. SeeAlso: #2181
  7890.  
  7891. Format of NetWare "Get Server Set Categories" reply packet:
  7892. Offset    Size    Description    (Table 2181)
  7893.  00h    DWORD    current server time
  7894.  04h    BYTE    vconsole version
  7895.  05h    BYTE    vconsole revision
  7896.  06h    WORD    reserved
  7897.  08h    DWORD    number of set categories
  7898.  0Ch    DWORD    next sequence number
  7899.  10h    BYTE    length of category name
  7900.  11h  N BYTEs    category name
  7901. SeeAlso: #2180
  7902. --------v-21F2AA-----------------------------
  7903. INT 21 - VIRUS - "PcVrsDs" - INSTALLATION CHECK
  7904.     AX = F2AAh
  7905. Return: AH = AAh if resident
  7906. SeeAlso: AH=F1h"VIRUS",AH=F3h"VIRUS"
  7907. --------N-21F3-------------------------------
  7908. INT 21 - Novell NetWare - FILE SERVICES - FILE SERVER FILE COPY
  7909.     AH = F3h
  7910.     ES:DI -> request buffer (see #2182)
  7911. Return: AL = status/error code
  7912.     CX:DX = number of bytes copied
  7913. Notes:    this function is supported by Advanced NetWare 2.0+
  7914.     both source and destination must be on the same file server
  7915. SeeAlso: AH=3Ch,AH=3Fh"DOS"
  7916.  
  7917. Format of NetWare "File Server File Copy" request buffer:
  7918. Offset    Size    Description    (Table 2182)
  7919.  00h    WORD    source file handle (as returned by AH=3Ch or AH=3Dh)
  7920.  02h    WORD    destination file handle
  7921.  04h    DWORD    starting offset in source
  7922.  08h    DWORD    starting offset in destination
  7923.  0Ch    DWORD    number of bytes to copy
  7924. --------T-21F3-------------------------------
  7925. INT 21 - DoubleDOS - ADD CHARACTER TO KEYBOARD BUFFER OF CURRENT JOB
  7926.     AH = F3h
  7927.     AL = character
  7928. Return: AL = 00h successful
  7929.          01h buffer full (128 characters)
  7930. SeeAlso: AH=E3h"DoubleDOS",AH=F1h"DoubleDOS",AH=F2h"DoubleDOS"
  7931. SeeAlso: AH=F8h"DoubleDOS"
  7932. --------v-21F3-------------------------------
  7933. INT 21 - VIRUS - "Carfield" - INSTALLATION CHECK
  7934.     AH = F3h
  7935. Return: AX = 0400h if resident
  7936. SeeAlso: AH=D5h"Carfield",AX=F2AAh,AH=F7h"VIRUS"
  7937. --------T-21F400-----------------------------
  7938. INT 21 - DoubleDOS - INSTALLATION CHECK/PROGRAM STATUS
  7939.     AX = F400h
  7940. Return: AL = program status
  7941.         00h if DoubleDOS not present
  7942.         01h if running in visible DoubleDOS partition
  7943.         02h if running in the invisible DoubleDOS partition
  7944. SeeAlso: AX=E400h,AH=F5h"DoubleDOS"
  7945. --------T-21F5-------------------------------
  7946. INT 21 - DoubleDOS - OTHER PROGRAM STATUS
  7947.     AH = F5h
  7948. Return: AL = program status
  7949.         00h no program in other partition
  7950.         01h program in other partition is running
  7951.         02h program in other partition is suspended
  7952. SeeAlso: AH=E5h"DoubleDOS",AX=F400h"DoubleDOS"
  7953. --------v-21F7-------------------------------
  7954. INT 21 - VIRUS - "GP1" - INSTALLATION CHECK
  7955.     AH = F7h
  7956. Return: AX = 0300h if resident
  7957. SeeAlso: AH=F0h"VIRUS",AH=F9h"VIRUS"
  7958. --------D-21F8-------------------------------
  7959. INT 21 - DOS v2.11-2.13 - SET OEM INT 21 HANDLER
  7960.     AH = F8h
  7961.     DS:DX -> OEM INT 21 handler for functions F9h to FFh
  7962.          FFFFh:FFFFh disables OEM handler
  7963. Notes:    this function is known to be supported by Toshiba T1000 ROM MS-DOS
  7964.       v2.11, Sanyo MS-DOS v2.11, and TI Professional Computer DOS v2.13
  7965.     calls to AH=F9h through AH=FFH will return AL=00h if no handler set
  7966.     handler is called with all registers exactly as set by caller, and
  7967.       should exit with IRET
  7968. SeeAlso: AH=F9h"OEM"
  7969. --------T-21F8-------------------------------
  7970. INT 21 - DoubleDOS - SET/RESET KEYBOARD CONTROL FLAGS
  7971.     AH = F8h
  7972.     AL = program for which to set flags
  7973.         00h this program
  7974.         01h other program
  7975.     DX = keyboard control flags (see #1743 at AH=E8h"DoubleDOS")
  7976. Return: DX = previous flags
  7977. Notes:    disabling Ctrl-PrtSc will allow the program to intercept the keystroke;
  7978.       disabling any of the other keystrokes disables them completely
  7979.     this function is identical to AH=E8h
  7980. SeeAlso: AH=E8h"DoubleDOS",AH=F1h"DoubleDOS",AH=F2h"DoubleDOS"
  7981. SeeAlso: AH=F3h"DoubleDOS"
  7982. --------D-21F9-------------------------------
  7983. INT 21 - DOS v2.11-2.13 - OEM FUNCTION
  7984.     AH = F9h
  7985. Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
  7986. SeeAlso: AH=F8h"OEM",AH=FAh"OEM"
  7987. --------T-21F9-------------------------------
  7988. INT 21 - DoubleDOS - SET TIMESHARING PRIORITY
  7989.     AH = F9h
  7990.     AL = priority
  7991.         00h visible program gets 70%, invisible gets 30% (default)
  7992.         01h visible program gets 50%, invisible gets 50%
  7993.         02h visible program gets 30%, invisible gets 70%
  7994.         03h Top program gets 70%, bottom program gets 30%
  7995.         04h Top program gets 30%, bottom program gets 70%
  7996.         05h get current priority
  7997.         Return: AL = priority setting
  7998. Note:    identical to AH=E9h
  7999. SeeAlso: AH=E9h"DoubleDOS",AH=FAh"DoubleDOS",AH=FBh"DoubleDOS"
  8000. --------v-21F9-------------------------------
  8001. INT 21 - VIRUS - "Satans-Bug" - INSTALLATION CHECK
  8002.     AH = F9h
  8003. Return: AX = AC0Ah if resident
  8004. SeeAlso: AH=F7h"VIRUS",AH=FBh"VIRUS",AX=FEDCh"VIRUS"
  8005. --------D-21FA-------------------------------
  8006. INT 21 - DOS v2.11-2.13 - OEM FUNCTION
  8007.     AH = FAh
  8008. Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
  8009. SeeAlso: AH=F8h"OEM",AH=F9h"OEM",AH=FBh"OEM"
  8010. --------T-21FA-------------------------------
  8011. INT 21 - DoubleDOS - TURN OFF TASK SWITCHING
  8012.     AH = FAh
  8013. Return: task switching turned off
  8014. SeeAlso: AH=EAh"DoubleDOS",AH=F9h"DoubleDOS",AH=FBh"DoubleDOS"
  8015. SeeAlso: INT FA"DoubleDOS"
  8016. --------v-21FA-------------------------------
  8017. INT 21 - VIRUS - "Cinderella 2" - INSTALLATION CHECK
  8018.     AH = FAh
  8019. Return: AH = F9h if resident
  8020. SeeAlso: AH=F0h"VIRUS",AX=FBA0h"VIRUS"
  8021. --------v-21FA--DX5945-----------------------
  8022. INT 21 U - PC Tools v7+ VDEFEND, VSAFE, VWATCH - API
  8023.     AH = FAh
  8024.     DX = 5945h
  8025.     AL = function (00h-02h for VDEFEND, 00h-07h for VSAFE and VWATCH)
  8026. Return: varies by function
  8027. Note:    this API is identical to the API on INT 13/AH=FAh and INT 16/AH=FAh,
  8028.       so it is listed in its entirety only under INT 16/AX=FA00h and
  8029.       following
  8030. SeeAlso: INT 13/AX=FA00h,INT 16/AX=FA00h
  8031. --------D-21FB-------------------------------
  8032. INT 21 - DOS v2.11-2.13 - OEM FUNCTION
  8033.     AH = FBh
  8034. Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
  8035. SeeAlso: AH=F8h"OEM",AH=FAh"OEM",AH=FCh"OEM"
  8036. --------T-21FB-------------------------------
  8037. INT 21 - DoubleDOS - TURN ON TASK SWITCHING
  8038.     AH = FBh
  8039. Return: task switching turned on
  8040. SeeAlso: AH=EBh"DoubleDOS",AH=F9h"DoubleDOS",AH=FAh"DoubleDOS"
  8041. SeeAlso: INT FB"DoubleDOS"
  8042. --------v-21FB-------------------------------
  8043. INT 21 - VIRUS - "Cinderella" - INSTALLATION CHECK
  8044.     AH = FBh
  8045. Return: AH = 00h if resident
  8046. SeeAlso: AH=F9h"VIRUS",AH=FAh"VIRUS",AX=FB0Ah
  8047. --------v-21FB0A-----------------------------
  8048. INT 21 - VIRUS - "dBASE" - INSTALLATION CHECK
  8049.     AX = FB0Ah
  8050. Return: AX = 0AFBh if resident
  8051. SeeAlso: AH=FBh"VIRUS",AX=FBA0h"VIRUS",AH=FCh"VIRUS"
  8052. --------v-21FBA0-----------------------------
  8053. INT 21 - VIRUS - "Groove" - INSTALLATION CHECK
  8054.     AX = FBA0h
  8055. Return: AX = 0ABFh if resident
  8056. SeeAlso: AX=FB0Ah"VIRUS",AH=FCh"VIRUS"
  8057. --------D-21FC-------------------------------
  8058. INT 21 - DOS v2.11-2.13 - OEM FUNCTION
  8059.     AH = FCh
  8060. Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
  8061. SeeAlso: AH=F8h"OEM",AH=FBh"OEM",AH=FDh"OEM"
  8062. --------T-21FC-------------------------------
  8063. INT 21 - DoubleDOS - GET VIRTUAL SCREEN ADDRESS
  8064.     AH = FCh
  8065. Return: ES = segment of virtual screen
  8066. Desc:    Determine the address of the virtual screen to which the program
  8067.       should write instead of the actual video memory, so that the
  8068.       multitasked programs do not interfere with each other's output.
  8069. Notes:    screen address can change if task-switching is on!
  8070.     identical to AH=ECh
  8071. SeeAlso: AH=ECh"DoubleDOS",INT FC"DoubleDOS"
  8072. --------v-21FC-------------------------------
  8073. INT 21 - VIRUS - "Troi" - INSTALLATION CHECK
  8074.     AH = FCh
  8075. Return: AL = A5h if resident
  8076. SeeAlso: AX=FBA0h"VIRUS",AX=FC03h"VIRUS",AH=FDh"VIRUS"
  8077. --------v-21FC03-----------------------------
  8078. INT 21 - VIRUS - "Invisible" - INSTALLATION CHECK
  8079.     AX = FC03h
  8080. Return: AX = 03FCh if resident
  8081. SeeAlso: AH=FCh"VIRUS",AH=FDh"VIRUS"
  8082. --------D-21FD-------------------------------
  8083. INT 21 - DOS v2.11-2.13 - OEM FUNCTION
  8084.     AH = FDh
  8085. Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
  8086. SeeAlso: AH=F8h"OEM",AH=FCh"OEM",AH=FEh"OEM"
  8087. --------v-21FD-------------------------------
  8088. INT 21 - VIRUS - "Border" - INSTALLATION CHECK
  8089.     AH = FDh
  8090. Return: AH = 13h if resident
  8091. SeeAlso: AH=FCh"VIRUS",AX=FDACh"VIRUS",AH=FEh"VIRUS"
  8092. --------s-21FD12BX3457-----------------------
  8093. INT 21 - Gravis UltraSound - MegaEm/MEGA_EM - INSTALLATION CHECK
  8094.     AX = FD12h
  8095.     BX = 3457h
  8096. Return: AX = 5678h if installed
  8097.     BX = 1235h if v1.x or v2.x installed
  8098.         CL = interrupt vector used by MegaEm (default 81h)
  8099.     BX = 1237h if v3.x installed
  8100.         CL = interrupt vector used by MegaEm (default 81h)
  8101.         DX = version number
  8102. Program: MegaEm is a protected-mode SoundBlaster, SoundCanvas, and MT-32
  8103.       emulator for the Gravis UltraSound
  8104. SeeAlso: INT 2F/AX=CD00h/BX=464Fh,INT 7E/AX=00FEh"SBOS",INT 81/AX=0200h
  8105. --------v-21FDAC-----------------------------
  8106. INT 21 - VIRUS - "Delwin" - INSTALLATION CHECK
  8107.     AX = FDACh
  8108. Return: AX = 02E3h if resident
  8109. SeeAlso: AH=FDh"VIRUS",AH=FEh"VIRUS"
  8110. --------D-21FE-------------------------------
  8111. INT 21 - DOS v2.11-2.13 - OEM FUNCTION
  8112.     AH = FEh
  8113. Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
  8114. SeeAlso: AH=F8h"OEM",AH=FDh"OEM",AH=FFh"OEM"
  8115. --------T-21FE-------------------------------
  8116. INT 21 - DoubleDOS - GIVE AWAY TIME TO OTHER TASKS
  8117.     AH = FEh
  8118.     AL = number of 55ms time slices to give away
  8119. Return: returns after giving away time slices
  8120. SeeAlso: AH=EEh"DoubleDOS",INT FE"DoubleDOS"
  8121. --------v-21FE-------------------------------
  8122. INT 21 - VIRUS - "483" - INSTALLATION CHECK
  8123.     AH = FEh
  8124. Return: AH = 00h if resident
  8125. SeeAlso: AX=FDACh"VIRUS",AX=FE01h
  8126. --------v-21FE01-----------------------------
  8127. INT 21 - VIRUS - "Flip" - INSTALLATION CHECK
  8128.     AX = FE01h
  8129. Return: AX = 01FEh if resident
  8130. SeeAlso: AH=FEh"VIRUS",AX=FE02h
  8131. --------v-21FE02-----------------------------
  8132. INT 21 - VIRUS - "2468"/"Tequila" - INSTALLATION CHECK
  8133.     AX = FE02h
  8134. Return: AX = 01FDh if resident
  8135. SeeAlso: AX=FE01h,AX=FE03h,AX=FEDCh"VIRUS"
  8136. --------v-21FE03-----------------------------
  8137. INT 21 - VIRUS - "2468"/"Tequila" - DISPLAY VIRUS MESSAGE
  8138.     AX = FE03h
  8139. SeeAlso: AX=FE02h,AX=FEADh
  8140. --------v-21FEAD------------------------
  8141. INT 21 - VIRUS - "Shifting Objective" - INSTALLATION CHECK
  8142.     AX = FEADh
  8143. Return: AX = D00Dh if resident
  8144. SeeAlso: AX=FE03h,AX=FEDCh"VIRUS"
  8145. --------d-21FEDC-----------------------------
  8146. INT 21 - PCMag PCMANAGE/DCOMPRES - INSTALLATION CHECK
  8147.     AX = FEDCh
  8148. Return: AX = CDEFh if installed
  8149. Program: the PCMANAGE/DCOMPRES combination from PC Magazine permits
  8150.       infrequently-used files to be compressed to save space and
  8151.       transparently expanded when accessed
  8152. SeeAlso: AH=DCh,INT 2D/AL=10h"dLite"
  8153. --------v-21FEDC-----------------------------
  8154. INT 21 - VIRUS - "Black Monday" - INSTALLATION CHECK
  8155.     AX = FEDCh
  8156. Return: AL = DCh if resident
  8157. SeeAlso: AX=FE02h,AX=FEFEh
  8158. --------v-21FEFE-----------------------------
  8159. INT 21 - VIRUS - "CIDER" - INSTALLATION CHECK
  8160.     AX = FEFEh
  8161. Return: SI = 1994h if resident
  8162. SeeAlso: AX=FEDCh"VIRUS",AH=FFh"VIRUS"
  8163. --------D-21FF-------------------------------
  8164. INT 21 - DOS v2.11-2.13 - OEM FUNCTION
  8165.     AH = FFh
  8166. Return: AL = 00h if no OEM function handler installed (see AH=F8h"OEM")
  8167. SeeAlso: AH=F8h"OEM",AH=FEh"OEM"
  8168. --------K-21FF-------------------------------
  8169. INT 21 - CED (Command EDitor) - INSTALLABLE COMMANDS
  8170.     AH = FFh
  8171.     AL = subfunction
  8172.         00h add installable command
  8173.         BL = mode
  8174.             bit 0 = 1 callable from DOS prompt
  8175.             bit 1 = 1 callable from application
  8176.         DS:SI -> CR-terminated command name
  8177.         ES:DI -> FAR routine entry point
  8178.         01h remove installable command
  8179.         DS:SI -> CR-terminated command name
  8180.         02h reserved, may be used to test for CED installation
  8181. Return: CF clear if successful
  8182.     CF set on error
  8183.         AX = error code
  8184.         01h invalid function
  8185.         02h command not found (subfunction 01h only)
  8186.         08h insufficient memory (subfunction 00h only)
  8187.         0Eh bad data (subfunction 00h only)
  8188.     AH = FFh if CED not installed
  8189. Program: CED is a shareware DOS command-line enhancer by Christopher J. Dunford
  8190. SeeAlso: AX=0A00h
  8191. --------E-21FF-------------------------------
  8192. INT 21 - DJ GO32.EXE 80386+ DOS extender - DOS EXTENSIONS
  8193.     AH = FFh
  8194.     AL = function
  8195.         01h create file
  8196.         02h open file
  8197.         03h get file statistics
  8198.         04h get time of day
  8199.         05h set time of day
  8200.         06h stat
  8201.         07h system
  8202. Program: GO32.EXE is a DOS extender included as part of the 80386 port of the
  8203.       GNU C/C++ compiler by DJ Delorie and distributed as DJGPP
  8204. SeeAlso: INT 10/AH=FFh"GO32"
  8205. --------K-21FF-------------------------------
  8206. INT 21 - DOSED.COM - INSTALLATION CHECK
  8207.     AH = FFh
  8208.     DS:SI -> "DOSED"
  8209.     ES = 0000h
  8210. Return: ES:DI -> "DOSED" if installed
  8211. Program: DOSED is a free DOS commandline editor/history buffer by Sverre H.
  8212.       Huseby
  8213. --------v-21FF-------------------------------
  8214. INT 21 - VIRUS - "Sunday", "Tumen 0.5", "Hero" - INSTALLATION CHECK
  8215.     AH = FFh
  8216. Return: AH = 00h if "Tumen 0.5" or "Hero" resident
  8217.     AX = 0400h if "Sunday" resident
  8218. SeeAlso: AX=FEDCh"VIRUS",AX=FF01h"VIRUS"
  8219. --------E-21FF-------------------------------
  8220. INT 21 UP - Rational Systems DOS/4GW - API
  8221.     AH = FFh
  8222.     DH = function (00h-17h) (also see separate entries below)
  8223.     DL = subfunction or argument
  8224. Return: CF clear if valid function number
  8225.         AX = status???
  8226.     CF set if invalid function
  8227. SeeAlso: INT 15/AX=BFDCh
  8228. --------E-21FF--DH00-------------------------
  8229. INT 21 UP - Rational Systems DOS/4GW - GET VERSION???
  8230.     AH = FFh
  8231.     DH = 00h
  8232.     DL = ??? (78h seen)
  8233. Return: CF clear
  8234.     EAX = 4734FFFFh (high word is byte-swapped "4G") if DOS/4G installed
  8235. Note:    Quarterdeck's DESQview/X X Toolkit library uses this call to determine
  8236.       whether the direct-mapped linear 4GB segment's selector is 34h or 38h
  8237. SeeAlso: INT 21/AH=FFh/DH=00h"DOS/4GW"
  8238. --------E-21FF--DH02-------------------------
  8239. INT 21 UP - Rational Systems DOS/4GW - SET ???
  8240.     AH = FFh
  8241.     DH = 02h
  8242.     DL = ???
  8243. Return: CF clear
  8244. --------E-21FF--DH05-------------------------
  8245. INT 21 UP - Rational Systems DOS/4GW - ???
  8246.     AH = FFh
  8247.     DH = 05h
  8248.     BX = ???
  8249. Return: ???
  8250. --------E-21FF--DH06-------------------------
  8251. INT 21 UP - Rational Systems DOS/4GW - ???
  8252.     AH = FFh
  8253.     DH = 06h
  8254.     BX = ???
  8255. Return: ???
  8256. --------E-21FF--DH07-------------------------
  8257. INT 21 UP - Rational Systems DOS/4GW - ???
  8258.     AH = FFh
  8259.     DH = 07h
  8260.     BX = ???
  8261. Return: ???
  8262. --------E-21FF--DH08-------------------------
  8263. INT 21 UP - Rational Systems DOS/4GW - ???
  8264.     AH = FFh
  8265.     DH = 08h
  8266.     BX = ???
  8267.     CX = ???
  8268.     ES = ???
  8269. Return: ???
  8270. --------E-21FF--DH09-------------------------
  8271. INT 21 UP - Rational Systems DOS/4GW - GET ???
  8272.     AH = FFh
  8273.     DH = 09h
  8274. Return: ES:BX -> ???
  8275. --------E-21FF--DH0A-------------------------
  8276. INT 21 UP - Rational Systems DOS/4GW - ???
  8277.     AH = FFh
  8278.     DH = 0Ah
  8279.     AL = ???
  8280.     BX = ???
  8281.     CX = ???
  8282. Return: ES = ??? or 0000h
  8283. --------E-21FF--DH0B-------------------------
  8284. INT 21 UP - Rational Systems DOS/4GW - ???
  8285.     AH = FFh
  8286.     DH = 0Bh
  8287.     AL = ???
  8288.     BX = ???
  8289.     CX = ???
  8290. Return: ???
  8291. --------E-21FF--DH0C-------------------------
  8292. INT 21 UP - Rational Systems DOS/4GW - GET/SET ???
  8293.     AH = FFh
  8294.     DH = 0Ch
  8295.     DL = ??? (00h or 01h)
  8296. Return: CF clear if successful
  8297.         AL = previous value of ???
  8298.     CF set on error (DL out of range)
  8299.         AX = FFFFh
  8300. --------E-21FF--DH0D-------------------------
  8301. INT 21 UP - Rational Systems DOS/4GW - ???
  8302.     AH = FFh
  8303.     DH = 0Dh
  8304.     ???
  8305. Return: ???
  8306. --------E-21FF--DH0E-------------------------
  8307. INT 21 UP - Rational Systems DOS/4GW - ???
  8308.     AH = FFh
  8309.     DH = 0Eh
  8310. Return: DX:AX -> XBRK structure (see #0425 at INT 15/AX=BF02h)
  8311.     BX = ???
  8312.     CX = ???
  8313. SeeAlso: INT 15/AX=BF02h
  8314. --------E-21FF--DH0F-------------------------
  8315. INT 21 UP - Rational Systems DOS/4GW - ???
  8316.     AH = FFh
  8317.     DH = 0Fh
  8318.     ???
  8319. Return: ???
  8320. --------E-21FF--DH10-------------------------
  8321. INT 21 UP - Rational Systems DOS/4GW - ???
  8322.     AH = FFh
  8323.     DH = 10h
  8324.     AL = ???
  8325.     BX = ???
  8326.     CX = ???
  8327.     DI = ???
  8328.     SI = ???
  8329. Return: ???
  8330. Note:    among other things, frees two memory blocks via INT 21/AH=49h
  8331. --------E-21FF--DH11-------------------------
  8332. INT 21 UP - Rational Systems DOS/4GW - NOP
  8333.     AH = FFh
  8334.     DH = 11h
  8335. --------E-21FF--DH12-------------------------
  8336. INT 21 UP - Rational Systems DOS/4GW - EXCHANGE ??? POINTERS
  8337.     AH = FFh
  8338.     DH = 12h
  8339.     DS:SI -> new ???
  8340.     ES:DI -> new ???
  8341. Return: DS:SI -> previous ???
  8342.     ES:DI -> previous ???
  8343. --------E-21FF--DH13-------------------------
  8344. INT 21 UP - Rational Systems DOS/4GW - ???
  8345.     AH = FFh
  8346.     DH = 13h
  8347.     AL = ???
  8348.     ES = ???
  8349. Return: ???
  8350. --------E-21FF--DH14-------------------------
  8351. INT 21 UP - Rational Systems DOS/4GW - ???
  8352.     AH = FFh
  8353.     DH = 14h
  8354.     BX = ???
  8355.     CX = ???
  8356. Return: CF clear
  8357.         AX = ???
  8358.         DX = ???
  8359. --------E-21FF--DH15-------------------------
  8360. INT 21 UP - Rational Systems DOS/4GW - GET ??? FUNCTIONS
  8361.     AH = FFh
  8362.     DH = 15h
  8363. Return: CF clear
  8364.         DX:AX -> FAR function for ???
  8365.         CX:BX -> FAR function for ???
  8366.         SI:DI -> FAR function for ???
  8367. --------E-21FF--DH16-------------------------
  8368. INT 21 UP - Rational Systems DOS/4GW - GET ???
  8369.     AH = FFh
  8370.     DH = 16h
  8371. Return: AX = ???
  8372. --------E-21FF--DH17-------------------------
  8373. INT 21 UP - Rational Systems DOS/4GW - ???
  8374.     AH = FFh
  8375.     DH = 17h
  8376.     AL = ???
  8377.     DL = ???
  8378. Return: ???
  8379. --------N-21FF00-----------------------------
  8380. INT 21 - TopWare Network OS v5.10+ - GET SYSTEM INFORMATION
  8381.     AX = FF00h
  8382.     CL = what to get
  8383.         00h user information (see #2183)
  8384.         01h drive mapping (see #2184)
  8385.         02h printer server(s)
  8386.         05h local DOS drive number
  8387. Return: ES:BX -> desired information
  8388. Program: TopWare Network Operating System is manufactured by Grand Computer
  8389.       Company
  8390. Note:    this call is only supported on Workstations, not on the server
  8391. SeeAlso: AX=FF04h,INT 2F/AX=FF00h
  8392.  
  8393. Format of TopWare user information:
  8394. Offset    Size    Description    (Table 2183)
  8395.  00h    BYTE    node ID
  8396.  01h 15 BYTEs    user name
  8397.  10h    WORD    user number
  8398.  12h    BYTE    group number
  8399.  
  8400. Format of TopWare drive mapping [array]:
  8401. Offset    Size    Description    (Table 2184)
  8402.  00h    BYTE    bits 6-0: drive number (1=A:, etc.)
  8403.         bit 7: this is a server drive
  8404.  01h  3 BYTEs    mapping drive (for example, "C:\")
  8405.  04h 64 BYTEs    current directory
  8406. --------E-21FF00DX0078-----------------------
  8407. INT 21 - Rational Systems DOS/4G - INSTALLATION CHECK
  8408.     AX = FF00h
  8409.     DX = 0078h
  8410. Return: AL <> 00h if installed
  8411.         GS = segment of kernel if nonzero
  8412. SeeAlso: INT 15/AX=BF02h
  8413. --------v-21FF01-----------------------------
  8414. INT 21 - VIRUS - "Drop" - INSTALLATION CHECK
  8415.     AX = FF01h
  8416. Return: AX = 01FFh if resident
  8417. SeeAlso: AH=FEh"VIRUS",AX=FF0Fh"FLU_SHOT"
  8418. --------N-21FF04-----------------------------
  8419. INT 21 - TopWare Network OS v5.10+ - GET/SET DEFAULT FILE PROTECTION ATTRIBS
  8420.     AX = FF04h
  8421.     CL = function
  8422.         00h get protections
  8423.         Return: BH = read attribute
  8424.             BL = write attribute
  8425.         01h set protections
  8426.         BH = read attribute
  8427.         BL = write attribute
  8428. Note:    this function is supported only on Workstations, not on the server
  8429. SeeAlso: AX=FF00h"TopWare"
  8430. --------v-21FF0F-----------------------------
  8431. INT 21 - FLU_SHOT+ v1.83 - INSTALLATION CHECK
  8432.     AX = FF0Fh
  8433. Return: AX = 0101h if resident
  8434. Program: FLU_SHOT+ is an antivirus/antitrojan program by Ross M. Greenberg and
  8435.       Software Concepts Design
  8436. Note:    the "PSQR/1720" virus calls this function to determine whether
  8437.       FLU_SHOT+ is present
  8438. SeeAlso: AH=FFh"VIRUS",AX=FF10h"VIRUS"
  8439. --------v-21FF10-----------------------------
  8440. INT 21 - VIRUS - "Twins" - INSTALLATION CHECK
  8441.     AX = FF10h
  8442. Return: AL = 07h if resident
  8443. SeeAlso: AX=FF0Fh,AX=FFFEh
  8444. --------N-21FF80DHFF-------------------------
  8445. INT 21 - TopWare Network OS v5.10+ - SEND MESSAGE
  8446.     AX = FF80h
  8447.     DH = FFh
  8448.     DL = destination address (FFh for broadcast)
  8449.     CX = message length (max 2000)
  8450.     DS:SI -> message to be sent (see #2185)
  8451. Return: nothing
  8452. Program: TopWare Network Operating System is manufactured by Grand Computer
  8453.       Company
  8454. Notes:    this function is supported on both Workstations and the server
  8455.     there is no guarantee that the message will be received correctly, or
  8456.       at all, by the destination
  8457.  
  8458. Format of TopWare message:
  8459. Offset    Size    Description    (Table 2185)
  8460.  00h    BYTE    type code
  8461.         07h TopSend
  8462.         11h user application
  8463.         other reserved for TopWare
  8464.  01h    var    data
  8465. Note:    sending messages with a type code other than 11h will cause
  8466.       unpredictable results
  8467. --------N-21FF82-----------------------------
  8468. INT 21 - TopWare Network OS v5.10+ - GET STATION ADDRESS
  8469.     AX = FF82h
  8470. Return: AL = station address
  8471. Note:    this function is supported on both Workstations and the server
  8472. SeeAlso: AX=FF91h
  8473. --------N-21FF8C-----------------------------
  8474. INT 21 - TopWare Network OS v5.10+ - GET STATUS OF TopShow/Emulated FUNCTION
  8475.     AX = FF8Ch
  8476.     BL = subfunction
  8477.         00h get TopShow status
  8478.         FFh get Emulated status
  8479. Return: AL = status
  8480.         00h not installed
  8481.         01h already installed
  8482. --------N-21FF8D-----------------------------
  8483. INT 21 - TopWare Network OS v5.10+ - CALL TopShow FUNCTION
  8484.     AX = FF8Dh
  8485.     CH = monochrome flag (01h monochrome, 00h not monochrome)
  8486.     CL = screen mode of station to be viewed (see #2186)
  8487.     BL = graphic page number for monochrome
  8488. Return: AL = status (00h successful, else failed)
  8489. SeeAlso: AX=FF8Eh,AX=FFCFh
  8490.  
  8491. (Table 2186)
  8492. Values for TopWare screen mode:
  8493.  00h    text mode
  8494.  01h    720x348
  8495.  02h    640x408
  8496.  03h    720x352
  8497.  04h    640x390
  8498.  05h    reserved
  8499. --------N-21FF8E-----------------------------
  8500. INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
  8501.     AX = FF8Eh
  8502. Return: AL = 00h (successful, TopShow removed)
  8503. SeeAlso: AX=FF8Dh
  8504. --------N-21FF91-----------------------------
  8505. INT 21 - TopWare Network OS v5.10+ - GET FILE SERVER STATION NUMBER
  8506.     AX = FF91h
  8507. Return: AL = station number of file server
  8508. SeeAlso: AX=FF82h
  8509. --------N-21FF97-----------------------------
  8510. INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM STATION NUMBER (server only)
  8511.     AX = FF97h
  8512. Return: AL = maximum station number
  8513. SeeAlso: AX=FF98h
  8514. --------N-21FF98-----------------------------
  8515. INT 21 - TopWare Network OS v5.10+ - GET MAXIMUM FILE NUMBER (server only)
  8516.     AX = FF98h
  8517. Return: AL = maximum file
  8518. SeeAlso: AX=FF97h
  8519. --------N-21FF9A-----------------------------
  8520. INT 21 - TopWare Network OS v5.10+ - RECEIVE OF USER-DEFINED PACKETS
  8521.     AX = FF9Ah
  8522.     ES:BX -> buffer for user-defined packet (see #2187)
  8523. Return: nothing
  8524.  
  8525. Format of TopWare user-defined packet:
  8526. Offset    Size    Description    (Table 2187)
  8527.  00h    BYTE    FFh
  8528.  01h    WORD    (call) length of data field plus 3
  8529.         (ret) length of received message (0000h if none received)
  8530.  03h    BYTE    destination ID (FFh for broadcast message)
  8531.  04h    BYTE    sending station ID
  8532.  05h    BYTE    type code (11h; all other codes reserved for TopWare)
  8533.  06h  N BYTEs    received message
  8534. --------N-21FF9F-----------------------------
  8535. INT 21 - TopWare Network OS v5.10+ - ENABLE/DISABLE TopTerm SERVICE
  8536.     AX = FF9Fh
  8537.     CL = new state (00h disable [disregard TopTerm packets], 01h enable)
  8538. Return: AL = status (00h successful, FFh failed)
  8539. Note:    this function is only supported by Workstations, not the server
  8540. --------N-21FFB0-----------------------------
  8541. INT 21 - TopWare Network OS v5.10+ - GET SPOOLER PRINTING PRIORITY
  8542.     AX = FFB0h
  8543. Return: AL = priority status (see #2188)
  8544. SeeAlso: AX=FFB1h
  8545.  
  8546. Bitfields for TopWare printer priority status:
  8547. Bit(s)    Description    (Table 2188)
  8548.  2    LPT3 has high priority
  8549.  1    LPT2 has high priority
  8550.  0    LPT1 has high priority
  8551. --------N-21FFB1-----------------------------
  8552. INT 21 - TopWare Network OS v5.10+ - SET SPOOLER PRINTING PRIORITY
  8553.     AX = FFB1h
  8554.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  8555.     CH = new priority (00h normal, 01h high)
  8556. Return: nothing
  8557. SeeAlso: AX=FFB0h
  8558. --------N-21FFB3-----------------------------
  8559. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT START-OF-JOB FORMFEED STATUS
  8560.     AX = FFB3h
  8561. Return: AL = starting formfeed status (see #2189)
  8562. SeeAlso: AX=FFB4h,AX=FFC0h
  8563.  
  8564. Bitfields for TopWare printer start-of-job formfeed status:
  8565. Bit(s)    Description    (Table 2189)
  8566.  2    LPT3 has formfeed enabled
  8567.  1    LPT2 has formfeed enabled
  8568.  0    LPT1 has formfeed enabled
  8569. --------N-21FFB4-----------------------------
  8570. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT START-OF-JOB FORMFEED STATUS
  8571.     AX = FFB4h
  8572.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  8573.     CH = new formfeed status (00h off, 01h on)
  8574. Return: nothing
  8575. SeeAlso: AX=FFB3h,AX=FFC1h
  8576. --------N-21FFBB-----------------------------
  8577. INT 21 - TopWare Network OS v5.10+ - GET PRINTER SERVER STATION ADDRESS
  8578.     AX = FFBBh
  8579.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  8580. Return: AL = current mapping printer server station number
  8581.         00h if local
  8582. SeeAlso: AX=FFBCh
  8583. --------N-21FFBC-----------------------------
  8584. INT 21 - TopWare Network OS v5.10+ - CANCEL TopShow FUNCTION
  8585.     AX = FFBCh
  8586.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  8587.     CL = printer server station address or 00h for local printer
  8588. Return: AL = status (00h successful, else failed)
  8589. SeeAlso: AX=FFBBh
  8590. --------N-21FFBD-----------------------------
  8591. INT 21 - TopWare Network OS v5.10+ - GET CURRENT AUTOPRINT TIME
  8592.     AX = FFBDh
  8593.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  8594. Return: AX = current AutoPrint timeout in clock ticks
  8595. SeeAlso: AX=FFBEh
  8596. --------N-21FFBE-----------------------------
  8597. INT 21 - TopWare Network OS v5.10+ - SET AUTOPRINT TIME
  8598.     AX = FFBEh
  8599.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  8600.     BX = timeout in clock ticks
  8601. SeeAlso: AX=FFBDh
  8602. --------N-21FFBF-----------------------------
  8603. INT 21 - TopWare Network OS v5.10+ - GET LOGON USER INFORMATION
  8604.     AX = FFBFh
  8605.     DX:BX -> buffer for logon information (see #2190)
  8606. Return: AL = status (00h successful, else failed)
  8607.     AH = number of logged-in stations
  8608.  
  8609. Format of TopWare logon information:
  8610. Offset    Size    Description    (Table 2190)
  8611.  00h    BYTE    station address
  8612.  01h 15 BYTEs    username
  8613. --------N-21FFC0-----------------------------
  8614. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT END-OF-JOB FORMFEED STATUS
  8615.     AX = FFC0h
  8616. Return: AL = ending formfeed status (see #2191)
  8617. SeeAlso: AX=FFB3h,AX=FFC1h
  8618.  
  8619. Bitfields for TopWare printer end-of-job formfeed status:
  8620. Bit(s)    Description    (Table 2191)
  8621.  2    LPT3 has formfeed enabled
  8622.  1    LPT2 has formfeed enabled
  8623.  0    LPT1 has formfeed enabled
  8624. --------N-21FFC1-----------------------------
  8625. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT END-OF-JOB FORMFEED STATUS
  8626.     AX = FFC1h
  8627.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  8628.     CH = new formfeed status (00h off, 01h on)
  8629. Return: nothing
  8630. SeeAlso: AX=FFB4h,AX=FFC0h
  8631. --------N-21FFC2-----------------------------
  8632. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT COPIES OF SPOOLING FILE
  8633.     AX = FFC2h
  8634.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  8635. Return: AL = default number of copies printed
  8636. SeeAlso: AX=FFC7h
  8637. --------N-21FFC3-----------------------------
  8638. INT 21 - TopWare Network OS v5.10+ - GET SHARING STATUS OF PRINTER SERVER
  8639.     AX = FFC3h
  8640. Return: AL = sharing status of printers (see #2192)
  8641.         FFh if not a printer server
  8642.  
  8643. Bitfields for TopWare printer sharing status:
  8644. Bit(s)    Description    (Table 2192)
  8645.  2    LPT3 is shared
  8646.  1    LPT2 is shared
  8647.  0    LPT1 is shared
  8648. --------N-21FFC4-----------------------------
  8649. INT 21 - TopWare Network OS v5.10+ - GET/SET LPT PORT ON PRINT SERVER
  8650.     AX = FFC4h
  8651.     BL = subfunction
  8652.         00h get
  8653.         Return: AL = mapped printer port on print server
  8654.         01h set
  8655.         CL = network printer port (00h LPT1, 01h LPT2, 02h LPT3)
  8656.     CH = local printer (00h LPT1, 01h LPT2, 02h LPT3)
  8657. --------N-21FFC6-----------------------------
  8658. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT FILE HEADER
  8659.     AX = FFC6h
  8660.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  8661.     CL = header state (00h off, 01h on)
  8662. SeeAlso: AX=FFC8h
  8663. --------N-21FFC7-----------------------------
  8664. INT 21 - TopWare Network OS v5.10+ - SET DEFAULT PRINT COPIES
  8665.     AX = FFC7h
  8666.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  8667.     CL = new default number of copies to print
  8668. SeeAlso: AX=FFC2h
  8669. --------N-21FFC8-----------------------------
  8670. INT 21 - TopWare Network OS v5.10+ - GET DEFAULT PRINT FILE HEADER STATUS
  8671.     AX = FFC8h
  8672. Return: AL = header status for printers (see #2193)
  8673. SeeAlso: AX=FFC6h
  8674.  
  8675. Bitfields for TopWare print header status:
  8676. Bit(s)    Description    (Table 2193)
  8677.  2    LPT3 has headers enabled
  8678.  1    LPT2 has headers enabled
  8679.  0    LPT1 has headers enabled
  8680. --------N-21FFC9-----------------------------
  8681. INT 21 - TopWare Network OS v5.10+ - SET PRINTER SHARING
  8682.     AX = FFC9h
  8683.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  8684.     CL = new sharing state (00h off, 01h on)
  8685. Return: AL = status (00h successful, FFh not printer server)
  8686. --------N-21FFCA-----------------------------
  8687. INT 21 - TopWare Network OS v5.10+ - MOVE FILE FROM ONE PRINT SERVER TO ANOTHER
  8688.     AX = FFCAh
  8689.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  8690.     CL = original printer server station address
  8691.     BL = target printer server station address
  8692.     DS:DX -> filename (12 bytes)
  8693. Return: AL = status (00h successful, else failed)
  8694. SeeAlso: AX=FFCBh
  8695. --------N-21FFCB-----------------------------
  8696. INT 21 - TopWare Network OS v5.10+ - DELETE FILE FROM SPOOLING QUEUE
  8697.     AX = FFCBh
  8698.     CH = printer number (00h LPT1, 01h LPT2, 02h LPT3)
  8699.     CL = printer server station address
  8700.     DS:DX -> filename (12 bytes)
  8701. Return: AL = status (00h successful, else failed)
  8702. SeeAlso: AX=FFCAh
  8703. --------N-21FFCC-----------------------------
  8704. INT 21 - TopWare Network OS v5.10+ - GET PRINT SERVER'S SPOOLING QUEUE STATUS
  8705.     AX = FFCCh
  8706.     CL = printer server station address
  8707.     BH = start item number of spooling file for print server
  8708.     BL = number of the item to be retrieved
  8709.     DS:DX -> buffer for queued file information (see #2194)
  8710. Return: AL = status
  8711.         00h successful
  8712.         AH = number of spool files
  8713.         DS:DX buffer filled
  8714.         nonzero failed
  8715.  
  8716. Format of TopWare queued file information buffer [16-item array, one element]:
  8717. Offset    Size    Description    (Table 2194)
  8718.  00h 12 BYTEs    filename
  8719.  0Ch    DWORD    size
  8720.  10h    WORD    date
  8721.  12h    WORD    time
  8722.  14h 15 BYTEs    username
  8723.  23h    BYTE    count
  8724.  24h    BYTE    flag: header
  8725.  25h    BYTE    print number
  8726. --------N-21FFCD-----------------------------
  8727. INT 21 - TopWare Network OS v5.10+ - GET STATUS OF ALL PRINT SERVERS
  8728.     AX = FFCDh
  8729.     DS:DX -> buffer for server status (see #2195)
  8730. Return: AL = status
  8731.         00h successful
  8732.         AH = number of print servers
  8733.         nonzero failed
  8734.  
  8735. Format of TopWare server status:
  8736. Offset    Size    Description    (Table 2195)
  8737.  00h    BYTE    station address
  8738.  01h 15 BYTEs    username
  8739.  10h    BYTE    flag: 01h printer is shared, 00h sharing disabled
  8740.  11h    BYTE    number of files pending in queue
  8741. --------N-21FFCF-----------------------------
  8742. INT 21 - TopWare Network OS v5.10+ - CALL TopLook FUNCTION
  8743.     AX = FFCFh
  8744.     DH = page number (0-2, 2 is text mode)
  8745.     DL = type
  8746.         00h look at specific screen
  8747.         01h AutoLook on
  8748.         FFh AutoLook off
  8749.     BH = station number wishing to look
  8750.     BL = station number to be looked at
  8751.     CH = monochrome flag (01h monochrome, 00h not monochrome)
  8752.     CL = screen mode (see #2186)
  8753. Return: AL = status (00h successful, nonzero failed)
  8754. SeeAlso: AX=FF8Dh
  8755. --------N-21FFD6-----------------------------
  8756. INT 21 - TopWare Network OS v5.10+ - GET KEYCARD SERIAL NUMBER AND MAX USERS
  8757.     AX = FFD6h
  8758.     ES:BX -> 12-byte buffer for keycard serial number
  8759. Return: CX = maximum number of users
  8760.     ES:BX buffer filled
  8761. --------N-21FFD7-----------------------------
  8762. INT 21 - TopWare Network OS v5.10+ - GET NETWORK PROTECTION ATTRIBUTES STATUS
  8763.     AX = FFD7h
  8764. Return: AL = status (00h disabled, 01h enabled)
  8765. --------N-21FFE3DL00-------------------------
  8766. INT 21 - TopWare Network OS v5.10+ - INITIATE ACCESS TO SPECIFIC PACKET TYPE
  8767.     AX = FFE3h
  8768.     DL = 00h
  8769.     BX = packet type for Ethernet header (IP = 0800h, ARP = 0806h, etc.)
  8770.     ES:DI -> receive routine (see #2197)
  8771. Return: CF clear if successful
  8772.         AX = handle number
  8773.     CF set on error
  8774.         DH = error code (03h,05h,09h,0Ah,11h) (see #2196)
  8775. SeeAlso: AX=FFE3h/DL=01h
  8776.  
  8777. (Table 2196)
  8778. Values for TopWare error code:
  8779.  01h    invalid handle
  8780.  03h    no interfaces of the specified type found
  8781.  05h    bad packet type
  8782.  09h    insufficient space
  8783.  0Ah    type already being accessed
  8784.  0Ch    unable to send packet (usually hardware error)
  8785.  11h    invalid function
  8786.  
  8787. (Table 2197)
  8788. Values TopWare receive routine is called with:
  8789.     AX = function
  8790.         0000h request packet buffer
  8791.         CX = packet size
  8792.         Return: ES:DI -> buffer or 0000h:0000h to discard packet
  8793.         0001h packet copied
  8794.         CX = packet size
  8795.         DS:SI -> copied packet (same as returned ES:DI above)
  8796. --------N-21FFE3DL01-------------------------
  8797. INT 21 - TopWare Network OS v5.10+ - END ACCESS TO SPECIFIC PACKET TYPE
  8798.     AX = FFE3h
  8799.     DL = 01h
  8800.     BX = handle returned by AX=FFE3h/DL=00h
  8801. Return: CF clear if successful
  8802.     CF set on error
  8803.         DH = error code (01h,11h) (see #2196)
  8804. Note:    the specified access handle will no longer be valid after this call
  8805. SeeAlso: AX=FFE3h/DL=00h
  8806. --------N-21FFE3DL02-------------------------
  8807. INT 21 - TopWare Network OS v5.10+ - SEND PACKET
  8808.     AX = FFE3h
  8809.     DL = 02h
  8810.     CX = length of data buffer
  8811.     DS:SI -> buffer containing data
  8812. Return: CF clear if successful
  8813.     CF set on error
  8814.         DH = error code (0Ch,11h) (see #2196)
  8815. --------N-21FFE3DL03-------------------------
  8816. INT 21 - TopWare Network OS v5.10+ - GET LOCAL NETWORK INTERFACE ADDRESS
  8817.     AX = FFE3h
  8818.     DL = 03h
  8819.     ES:DI -> 6-byte buffer for address
  8820. SeeAlso: AX=FFE3h/DL=00h
  8821. --------v-21FFFE-----------------------------
  8822. INT 21 - VIRUS - "08/15"/"Many Fingers" - INSTALLATION CHECK
  8823.     AX = FFFEh
  8824. Return: AX = 0815h if resident
  8825. SeeAlso: AX=FF10h,AX=FFFEh/BX=0000h
  8826. --------v-21FFFEBX0000-----------------------
  8827. INT 21 - VIRUS - "Anti-Thunderbyte/LEMMING" - INSTALLATION CHECK
  8828.     AX = FFFEh
  8829.     BX = 0000h
  8830. Return: BX = FFFFh if resident
  8831. SeeAlso: AX=FFFEh,AX=FFFFh
  8832. --------v-21FFFF-----------------------------
  8833. INT 21 - VIRUS - "Ontario", "Year 1992"/"B1M92" - INSTALLATION CHECK
  8834.     AX = FFFFh
  8835. Return: AX = 0000h if "Ontario" resident
  8836.     AX = 1992h if "Year 1992"/"B1M92" resident
  8837. SeeAlso: AX=FF0Fh,AX=FFFFh/CX=0000h,INT 6B"VIRUS"
  8838. --------v-21FFFFCX0000-----------------------
  8839. INT 21 - VIRUS - "Revenge" - INSTALLATION CHECK
  8840.     AX = FFFFh
  8841.     CX = 0000h
  8842. Return: CX = 0006h if resident
  8843. SeeAlso: AX=FFFFh,INT 6B"VIRUS"
  8844. --------D-22---------------------------------
  8845. INT 22 - DOS 1+ - PROGRAM TERMINATION ADDRESS
  8846. Desc:    this vector specifies the address of the routine which is to be given
  8847.       control after a program is terminated; it should never be called
  8848.       directly, since it does not point at an interrupt handler
  8849. Notes:    this vector is restored from the DWORD at offset 0Ah in the PSP during
  8850.       termination, and then a FAR JMP is performed to the address in INT 22
  8851.     normally points at the instruction immediately following INT 21/AH=4Bh
  8852.       call which loaded the current program
  8853. SeeAlso: INT 20,INT 21/AH=00h,INT 21/AH=31h,INT 21/AH=4Ch
  8854. --------G-22---------------------------------
  8855. INT 22 - COMTROL HOSTESS i/ISA DEBUGGER - CHANGE FIRMWARE DEBUGGING PORT
  8856.     AL = new firmware debugging port
  8857. Return: ???
  8858. SeeAlso: INT 21"COMTROL",INT 23"COMTROL"
  8859. --------D-23---------------------------------
  8860. INT 23 - DOS 1+ - CONTROL-C/CONTROL-BREAK HANDLER
  8861. ---DOS 1.x---
  8862. Return: AH = 00h abort program
  8863.     if all registers preserved, restart DOS call
  8864. ---DOS 2+---
  8865.     CF clear
  8866. Return: all registers preserved
  8867.     return via RETF with CF set or (MS-DOS 1,DR DOS) RETF 2 with CF set
  8868.         DOS will abort program with errorlevel 0
  8869.     else (RETF/RETF 2 with CF clear or IRET with CF ignored)
  8870.         interrupted DOS call is restarted
  8871. Notes:    this interrupt is invoked whenever DOS detects a ^C or ^Break; it
  8872.       should never be called directly
  8873.     MS-DOS 1.25 also invokes INT 23 on a divide overflow (INT 00)
  8874.     MS-DOS remembers the stack pointer before calling INT 23, and if it is
  8875.       not the same on return, pops and discards the top word; this is what
  8876.       permits a return with RETF as well as IRET or RETF 2
  8877.     MS-DOS 2.1+ ignores the returned CF if SP is the same on return as it
  8878.       was when DOS called INT 23, so RETF 2 will not terminate the program
  8879.     Novell DOS 7 always pops a word if CF is set on return, so one should
  8880.       not return with RETF 2 and CF set or IRET with the stored flags' CF
  8881.       set
  8882.     any DOS call may safely be made within the INT 23 handler, although
  8883.       the handler must check for a recursive invocation if it does
  8884.       call DOS
  8885. SeeAlso: INT 1B
  8886. --------G-23---------------------------------
  8887. INT 23 - COMTROL HOSTESS i/ISA DEBUGGER - GET CONFIGURATION INFORMATION
  8888.     AL = query type
  8889.         00h get old config map
  8890.         Return: AX = old config map
  8891.         01h get dual-ported RAM map
  8892.         Return: BX:AX = dual-ported RAM map
  8893.         02h get SCC port map
  8894.         Return: BX:AX = SCC port map
  8895. SeeAlso: INT 22"COMTROL",INT 26"COMTROL"
  8896. --------D-24---------------------------------
  8897. INT 24 C - DOS 1+ - CRITICAL ERROR HANDLER
  8898. Notes:    invoked when a critical (usually hardware) error is encountered by DOS
  8899.       (see #2198); should never be called directly
  8900.     when DOS terminates a program, it copies the previous value of the
  8901.       INT 24 vector out of the PSP (see #1032) and into the interrupt
  8902.       vector table
  8903. SeeAlso: INT 21/AH=95h
  8904.  
  8905. (Table 2198)
  8906. Values critical error handler is called with:
  8907.     AH = type and processing flags (see #2199)
  8908.     AL = drive number if AH bit 7 clear
  8909.     BP:SI -> device driver header (see #1298 at INT 21/AH=52h)
  8910.         (BP:[SI+4] bit 15 set if character device)
  8911.     DI low byte contains error code if AH bit 7 set (see #2200)
  8912.     STACK:    DWORD    return address for INT 24 call
  8913.         WORD    flags pushed by INT 24
  8914.         WORD    original AX on entry to INT 21
  8915.         WORD    BX
  8916.         WORD    CX
  8917.         WORD    DX
  8918.         WORD    SI
  8919.         WORD    DI
  8920.         WORD    BP
  8921.         WORD    DS
  8922.         WORD    ES
  8923.         DWORD    return address for INT 21 call
  8924.         WORD    flags pushed by INT 21
  8925. Return: AL = action code (see #2201)
  8926.     SS,SP,DS,ES,BX,CX,DX preserved
  8927. Notes:    the only DOS calls the handler may make are INT 21/AH=01h-0Ch,30h,59h
  8928.     if the handler returns to the application by popping the stack, DOS
  8929.       will be in an unstable state until the first call with AH > 0Ch
  8930.     for DOS 3.1+, IGNORE (AL=00h) is turned into FAIL (AL=03h) on network
  8931.       critical errors
  8932.     if IGNORE specified but not allowed, it is turned into FAIL
  8933.     if RETRY specified but not allowed, it is turned into FAIL
  8934.     if FAIL specified but not allowed, it is turned into ABORT
  8935.     (DOS 3.0+) if a critical error occurs inside the critical error
  8936.       handler, the DOS call is automatically failed (AL set to 03h and
  8937.       the INT 24 call skipped)
  8938.  
  8939. Bitfields for critical error type and processing flags:
  8940. Bit(s)    Description    (Table 2199)
  8941.  7    clear = disk I/O error
  8942.     set   = -- if block device, bad FAT image in memory
  8943.         -- if char device, error code in DI
  8944.  6    unused
  8945.  5    Ignore allowed (DOS 3.0+)
  8946.  4    Retry allowed (DOS 3.0+)
  8947.  3    Fail allowed (DOS 3.0+)
  8948.  2-1    disk area of error
  8949.     00 = DOS area    01 = FAT
  8950.     10 = root dir    11 = data area
  8951.  0    set if write, clear if read
  8952.  
  8953. (Table 2200)
  8954. Values for critical error code:
  8955.  00h    write-protection violation attempted
  8956.  01h    unknown unit for driver
  8957.  02h    drive not ready
  8958.  03h    unknown command given to driver
  8959.  04h    data error (bad CRC)
  8960.  05h    bad device driver request structure length
  8961.  06h    seek error
  8962.  07h    unknown media type
  8963.  08h    sector not found
  8964.  09h    printer out of paper
  8965.  0Ah    write fault
  8966.  0Bh    read fault
  8967.  0Ch    general failure
  8968.  0Dh    (DOS 3.0+) sharing violation
  8969.  0Eh    (DOS 3.0+) lock violation
  8970.  0Fh    invalid disk change
  8971.  10h    (DOS 3.0+) FCB unavailable
  8972.  11h    (DOS 3.0+) sharing buffer overflow
  8973.  12h    (DOS 4.0+) code page mismatch
  8974.  13h    (DOS 4.0+) out of input
  8975.  14h    (DOS 4.0+) insufficient disk space
  8976.  
  8977. (Table 2201)
  8978. Values for critical error handler action code:
  8979.  00h    ignore error and continue processing request
  8980.  01h    retry operation
  8981.  02h    terminate program as though INT 21/AH=4Ch called (INT 20h for DOS 1.x)
  8982.  03h    fail system call in progress (DOS 3+)
  8983. --------D-25---------------------------------
  8984. INT 25 - DOS 1+ - ABSOLUTE DISK READ (except partitions > 32M)
  8985.     AL = drive number (00h = A:, 01h = B:, etc)
  8986.     CX = number of sectors to read (not FFFFh)
  8987.     DX = starting logical sector number (0000h - highest sector on drive)
  8988.     DS:BX -> buffer for data
  8989. Return: CF clear if successful
  8990.     CF set on error
  8991.         AH = status (see #2202)
  8992.         AL = error code (same as passed to INT 24 in DI)
  8993.         AX = 0207h if more than 64K sectors on drive -- use new-style call
  8994.     may destroy all other registers except segment registers
  8995. Notes:    original flags are left on stack, and must be popped by caller
  8996.     this call bypasses the DOS filesystem
  8997.     examination of CPWIN386.CPL indicates that if this call fails with
  8998.       error 0408h on an old-style (<32M) call, one should retry the
  8999.       call with the high bit of the drive number in AL set
  9000.     Novell DOS 7 decides whether the old-style or new-style (>32M) version
  9001.       of INT 25 must be used solely on the basis of the partition's size,
  9002.       thus forcing use of the new-style call even for data in the first
  9003.       32M of the partition
  9004. BUGS:    DOS 3.1 through 3.3 set the word at ES:[BP+1Eh] to FFFFh if AL is an
  9005.       invalid drive number
  9006.     DR DOS 3.41 will return with a jump instead of RETF, leaving the
  9007.       wrong number of bytes on the stack; use the huge-partition version
  9008.       (INT 25/CX=FFFFh) for all partition sizes under DR DOS 3.41
  9009. SeeAlso: INT 13/AH=02h,INT 25/CX=FFFFh,INT 26,INT 21/AX=7305h
  9010.  
  9011. (Table 2202)
  9012. Values for disk I/O status:
  9013.  80h    device failed to respond (timeout)
  9014.  40h    seek operation failed
  9015.  20h    controller failed
  9016.  10h    data error (bad CRC)
  9017.  08h    DMA failure
  9018.  04h    requested sector not found
  9019.  03h    write-protected disk (INT 26 only)
  9020.  02h    bad address mark
  9021.  01h    bad command
  9022. --------D-25----CXFFFF-----------------------
  9023. INT 25 - DOS 3.31+ - ABSOLUTE DISK READ (32M-2047M hard-disk partition)
  9024.     CX = FFFFh
  9025.     AL = drive number (0=A, 1=B, etc)
  9026.     DS:BX -> disk read packet (see #2203)
  9027. Return: CF clear if successful
  9028.     CF set on error
  9029.         AH = status (see #2202)
  9030.         AL = error code (same as passed to INT 24 in DI)
  9031.     may destroy all other registers except segment registers
  9032. Notes:    partition is potentially >32M (and requires this form of the call) if
  9033.       bit 1 of the device attribute word in the device driver is set
  9034.     original flags are left on stack, and must be removed by caller
  9035.     this call bypasses the DOS filesystem
  9036.     for FAT32 drives (which may be up to 2TB in size), use INT 21/AX=7305h
  9037. SeeAlso: INT 13/AH=02h,INT 25,INT 26/CX=FFFFh,INT 21/AX=7305h
  9038.  
  9039. Format of disk read packet:
  9040. Offset    Size    Description    (Table 2203)
  9041.  00h    DWORD    sector number
  9042.  04h    WORD    number of sectors to read
  9043.  06h    DWORD    transfer address
  9044. SeeAlso: #2207
  9045. --------k-25CDCD-----------------------------
  9046. INT 25 - Stacker - GET DEVICE DRIVER ADDRESS
  9047.     AX = CDCDh
  9048.     DS:BX -> buffer for address (see #2204)
  9049.     CX = 0001h
  9050.     DX = 0000h
  9051. Return: AX = CDCDh if Stacker installed
  9052.         DS:BX buffer filled
  9053. Note:    not supported by Stacker Anywhere; to obtain the Stacker device
  9054.       driver address and to detect drives controlled by all versions
  9055.       of Stacker, INT 21/AX=4404h"Stacker" or lookup via the CDS and DPB
  9056.       should be preferred (see INT 21/AH=52h)
  9057.     Stacker Anywhere does not link its built-in device driver into
  9058.       the standard device driver chain, but it can be found via CDS/DPB
  9059. SeeAlso: INT 21/AX=4404h"Stacker"
  9060.  
  9061. Format of Stacker v2+ driver address buffer:
  9062. Offset    Size    Description    (Table 2204)
  9063.  00h    WORD    signature CDCDh
  9064.  02h    WORD    ??? 0001h
  9065.  04h    DWORD    pointer to Stacker signature at device driver offset 1Ah
  9066.           (see #2205)
  9067.  
  9068. Format of Stacker v2+ device driver:
  9069. Offset    Size    Description    (Table 2205)
  9070.  00h    DWORD    pointer to next driver, offset=FFFFh if last driver
  9071.         FFFFh:FFFFh for Stacker Anywhere
  9072.  04h    WORD    device attributes (see #1299,#1300)
  9073.  06h    WORD    device strategy entry point
  9074.  08h    WORD    device interrupt entry point
  9075.  0Ah    BYTE    number of subunits (drives) supported by driver
  9076.         0 for Stacker Anywhere
  9077.  0Bh  7 BYTEs    signature "STAC-CD" for Stacker and Stacker Anywhere
  9078.  12h  7 BYTEs    ???
  9079.  19h    BYTE    always = 01h ?? (Stacker Anywhere points here)
  9080.  1Ah    WORD    signature A55Ah (all other Stacker versions point here)
  9081.  1Ch    WORD    Stacker version * 64h
  9082.         0C8h = 200, 012Ch = 300, 0190h = 400 (also Stacker Anywhere)
  9083.  1Eh    WORD    offset of volume-specific information offset table
  9084.         (list of WORDs, one per drive, containing offsets to various
  9085.           information)
  9086.  20h 56 BYTEs    n/a
  9087.  58h    BYTE    volume number, set after INT 21/AX=4404h, INT 21/AX=4408h
  9088.         (use to index into volume-specific info offset table,
  9089.         should be set to FFh before and tested for change after)
  9090.  59h 19 BYTEs    n/a
  9091.  6Ch  4 BYTEs    ASCII string "SWAP"
  9092.  70h 26 BYTEs    drive mapping table (one byte for each drive A: through Z:)
  9093.         (only used for drives swapped by SSWAP.COM; other drives
  9094.         compressed by Stacker can be found with the standard device
  9095.         driver header signature (see INT 21/AH=52h)
  9096. ---Stacker 4, Stacker Anywhere---
  9097.  8Ah 40    BYTEs    ???
  9098.  B2h  4 BYTEs    ASCII string "SWP2"
  9099.  B6h 26 BYTEs    drive table ???
  9100.  D0h 150 BYTEs    ???
  9101. 166h 60 BYTEs    LZSINFO structure (see #2455 at INT 2F/AX=4A12h)
  9102. SeeAlso: #2206,#1298 at INT 21/AH=52h
  9103.  
  9104. Format of Stacker boot record:
  9105. Offset    Size    Description    (Table 2206)
  9106. 1F0h  8 BYTEs    Stacker signature (first byte is CDh)
  9107. 1F8h    DWORD    pointer to start of Stacker device driver
  9108. 1FCh    WORD    Stacker volume number
  9109. 1FEh    WORD    ???
  9110. SeeAlso: #2205
  9111. --------c-25--FFSI4358-----------------------
  9112. INT 25 - PC-CACHE.SYS - INSTALLATION CHECK
  9113.     AL = FFh
  9114.     SI = 4358h
  9115. Return: SI = 6378h if installed
  9116.         CX = segment of device driver PC-CACHE.SYS
  9117.         DX = version (major in DH, minor in DL)
  9118. Program: PC-CACHE.SYS is a small device driver used by PC-Cache v5.x to obtain
  9119.       access to certain disk drivers for devices such as Bernoulli drives
  9120. SeeAlso: INT 13/AH=A0h
  9121. --------D-26---------------------------------
  9122. INT 26 - DOS 1+ - ABSOLUTE DISK WRITE (except partitions > 32M)
  9123.     AL = drive number (00h = A:, 01h = B:, etc)
  9124.     CX = number of sectors to write (not FFFFh)
  9125.     DX = starting logical sector number (0000h - highest sector on drive)
  9126.     DS:BX -> data to write
  9127. Return: CF clear if successful
  9128.     CF set on error
  9129.         AH = status (see #2202)
  9130.         AL = error code (same as passed to INT 24 in DI)
  9131.         AX = 0207h if more than 64K sectors on drive -- use new-style call
  9132.     may destroy all other registers except segment registers
  9133. Notes:    original flags are left on stack, and must be popped by caller
  9134.     this call bypasses the DOS filesystem, though DOS 5+ invalidates any
  9135.       disk buffers referencing sectors which are written with this call
  9136.     examination of CPWIN386.CPL indicates that if this call fails with
  9137.       error 0408h on an old-style (<32M) call, one should retry the
  9138.       call with the high bit of the drive number in AL set
  9139.     Novell DOS 7 decides whether the old-style or new-style (>32M) version
  9140.       of INT 26 must be used solely on the basis of the partition's size,
  9141.       thus forcing use of the new-style call even for data in the first
  9142.       32M of the partition
  9143. BUGS:    DOS 3.1 through 3.3 set the word at ES:[BP+1Eh] to FFFFh if AL is an
  9144.       invalid drive number
  9145.     DR DOS 3.41 will return with a jump instead of RETF, leaving the
  9146.       wrong number of bytes on the stack; use the huge-partition version
  9147.       (INT 26/CX=FFFFh) for all partition sizes under DR DOS 3.41
  9148. SeeAlso: INT 13/AH=03h,INT 25,INT 26/CX=FFFFh,INT 21/AX=7305h
  9149. --------D-26----CXFFFF-----------------------
  9150. INT 26 - DOS 3.31+ - ABSOLUTE DISK WRITE (32M-2047M hard-disk partition)
  9151.     CX = FFFFh
  9152.     AL = drive number (0=A, 1=B, etc)
  9153.     DS:BX -> disk write packet (see #2207)
  9154. Return: CF clear if successful
  9155.     CF set on error
  9156.         AH = status (see #2202)
  9157.         AL = error code (same as passed to INT 24 in DI)
  9158.     may destroy all other registers except segment registers
  9159. Notes:    partition is potentially >32M (and requires this form of the call) if
  9160.       bit 1 of the device attribute word in the device driver is set
  9161.     original flags are left on stack, and must be removed by caller
  9162.     this call bypasses the DOS filesystem, though DOS 5+ invalidates any
  9163.       disk buffers referencing sectors which are written with this call
  9164.     for FAT32 drives (which may be up to 2TB in size), use INT 21/AX=7305h
  9165. SeeAlso: INT 13/AH=03h,INT 25/CX=FFFFh,INT 26,INT 21/AX=7305h
  9166.  
  9167. Format of disk write packet:
  9168. Offset    Size    Description    (Table 2207)
  9169.  00h    DWORD    sector number
  9170.  04h    WORD    number of sectors to read
  9171.  06h    DWORD    transfer address
  9172. SeeAlso: #2203
  9173. --------G-26---------------------------------
  9174. INT 26 - COMTROL HOSTESS i/ISA DEBUGGER - ENTER/EXIT EXTENDED ADDRESSING MODE
  9175.     ???
  9176. Return: ???
  9177. SeeAlso: INT 23"COMTROL",INT 27"COMTROL"
  9178. --------D-27---------------------------------
  9179. INT 27 - DOS 1+ - TERMINATE AND STAY RESIDENT
  9180.     DX = number of bytes to keep resident (max FFF0h)
  9181.     CS = segment of PSP
  9182. Return: never
  9183. Notes:    this is an obsolete call
  9184.     INT 22, INT 23, and INT 24 are restored from the PSP
  9185.     does not close any open files
  9186.     the minimum number of bytes which will remain resident is 110h for
  9187.       DOS 2.x and 60h for DOS 3.0+; there is no minimum for DOS 1.x, which
  9188.       implements this service in COMMAND.COM rather than the DOS kernel
  9189. SeeAlso: INT 21/AH=31h
  9190. --------G-27---------------------------------
  9191. INT 27 - COMTROL HOSTESS i/ISA DEBUGGER - INVOKE REMOTE TURBO DEBUGGER KERNEL
  9192.     ???
  9193. Return: ???
  9194. Desc:    invoke a copy of the remote Turbo Debugger kernel on the Hostess i
  9195.       controller
  9196. SeeAlso: INT 20"COMTROL",INT 26"COMTROL"
  9197. --------D-28---------------------------------
  9198. INT 28 C - DOS 2+ - DOS IDLE INTERRUPT
  9199.     SS:SP = top of MS-DOS stack for I/O functions
  9200. Return: all registers preserved
  9201. Desc:    This interrupt is invoked each time one of the DOS character input
  9202.       functions loops while waiting for input.  Since a DOS call is in
  9203.       progress even though DOS is actually idle during such input waits,
  9204.       hooking this function is necessary to allow a TSR to perform DOS
  9205.       calls while the foreground program is waiting for user input.     The
  9206.       INT 28h handler may invoke any INT 21h function except functions
  9207.       00h through 0Ch.
  9208. Notes:    under DOS 2.x, the critical error flag (the byte immediately after the
  9209.       InDOS flag) must be set in order to call DOS functions 50h/51h from
  9210.       the INT 28h handler without destroying the DOS stacks.
  9211.     calls to INT 21/AH=3Fh,40h from within an INT 28 handler may not use a
  9212.       handle which refers to CON
  9213.     at the time of the call, the InDOS flag (see INT 21/AH=34h) is normally
  9214.       set to 01h; if larger, DOS is truly busy and should not be reentered
  9215.     the default handler is an IRET instruction
  9216.     supported in OS/2 compatibility box
  9217.     the _MS-DOS_Programmer's_Reference_ for DOS 5.0 incorrectly documents
  9218.       this interrupt as superseded
  9219. SeeAlso: INT 21/AH=34h,INT 2A/AH=84h,INT 2F/AX=1680h
  9220. --------U-289999-----------------------------
  9221. INT 28 u - PCXDUMP v9.00+ - INSTALLATION CHECK
  9222.     AX = 9999h
  9223. Return: AX = AAAAh if installed
  9224.         CX = version number * 100 (example: 03A2h = 930 = v9.30)
  9225.         DL = interrupt used by the dump function (see #2208)
  9226.         (00h if call not available)
  9227.         BX = CS of PCXDUMP's INT 28 handler (undocumented)
  9228.         ES = segment of PCXDUMP's memory block (v9.30, undocumented)
  9229. Program: PCXDUMP is a shareware screen grabber saving in PCX format
  9230. Notes:    if DL<>00h a dump can be requested by calling INT DL as shown
  9231.       below (the user can choose the interrupt number at installation
  9232.       time); if DL=00h the dump function can be called only by hotkeys
  9233.       (this is the default)
  9234.  
  9235. (Table 2208)
  9236. Call PCXDUMP screen-dump function with:
  9237.     INT xx
  9238.     AX = 1234h
  9239.     BX = dump type
  9240.         0000h Color dump
  9241.         0001h Immediate color dump
  9242.         0002h Black/White dump
  9243.         0003h Immediate B/W dump
  9244.         0004h Inverted B/W dump
  9245.         0005h Gray scaled dump
  9246.         0006h Inverted gray scaled dump
  9247.         0007h Text screen dump to text file
  9248.         0008h Text screen dump to ansi file
  9249. Return: nothing
  9250. Notes:    if BX=0001h, 0003h, 0007h or 0008h the whole screen will be
  9251.       dumped; the other valid values will draw a selection frame
  9252.       on the screen except in text modes (text modes allow only
  9253.       full screen dumps)
  9254.     this function doesn't perform the dump, it only requests it;
  9255.       the dump will be performed after a few milliseconds if it's
  9256.       safe to do so, thus the author recommends putting a 60 ms delay
  9257.       after this call
  9258. --------D-29---------------------------------
  9259. INT 29 C - DOS 2+ - FAST CONSOLE OUTPUT
  9260.     AL = character to display
  9261. Return: nothing
  9262.     BX may be destroyed by some versions of DOS 3.3
  9263. Notes:    automatically called when writing to a device with bit 4 of its device
  9264.       driver header set (see also INT 21/AH=52h)
  9265.     COMMAND.COM v3.2 and v3.3 compare the INT 29 vector against the INT 20
  9266.       vector and assume that ANSI.SYS is installed if the segment is larger
  9267.     the default handler under DOS 2.x and 3.x simply calls INT 10/AH=0Eh
  9268.     the default handler under DESQview 2.2 understands the <Esc>[2J
  9269.       screen-clearing sequence, calls INT 10/AH=0Eh for all others
  9270. SeeAlso: INT 21/AH=52h,INT 2F/AX=0802h,INT 79"AVATAR.SYS"
  9271. --------U-29E60DCL0E-------------------------
  9272. INT 29 - ShowGFX - INSTALLATION CHECK
  9273.     AX = E60Dh
  9274.     CL = 0Eh
  9275.     DX = C0DEh
  9276. Return: DX = DEC0h
  9277. Program: ShowGFX is a PCBoard graphics driver by Solar Designer
  9278. --------!---Section--------------------------
  9279.